xref: /aosp_15_r20/external/llvm/test/Analysis/CostModel/ARM/divrem.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s  -cost-model -analyze -mtriple=thumbv7-apple-ios6.0.0 -mcpu=cortex-a9 | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workerdefine <2 x i8> @sdiv_v2_i8(<2 x i8>  %a, <2 x i8> %b) {
4*9880d681SAndroid Build Coastguard Worker  ; CHECK: sdiv_v2_i8
5*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 40 {{.*}} sdiv
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker  %1 = sdiv <2 x i8>  %a, %b
8*9880d681SAndroid Build Coastguard Worker  ret <2 x i8> %1
9*9880d681SAndroid Build Coastguard Worker}
10*9880d681SAndroid Build Coastguard Workerdefine <2 x i16> @sdiv_v2_i16(<2 x i16>  %a, <2 x i16> %b) {
11*9880d681SAndroid Build Coastguard Worker  ; CHECK: sdiv_v2_i16
12*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 40 {{.*}} sdiv
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Worker  %1 = sdiv <2 x i16>  %a, %b
15*9880d681SAndroid Build Coastguard Worker  ret <2 x i16> %1
16*9880d681SAndroid Build Coastguard Worker}
17*9880d681SAndroid Build Coastguard Workerdefine <2 x i32> @sdiv_v2_i32(<2 x i32>  %a, <2 x i32> %b) {
18*9880d681SAndroid Build Coastguard Worker  ; CHECK: sdiv_v2_i32
19*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 40 {{.*}} sdiv
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Worker  %1 = sdiv <2 x i32>  %a, %b
22*9880d681SAndroid Build Coastguard Worker  ret <2 x i32> %1
23*9880d681SAndroid Build Coastguard Worker}
24*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @sdiv_v2_i64(<2 x i64>  %a, <2 x i64> %b) {
25*9880d681SAndroid Build Coastguard Worker  ; CHECK: sdiv_v2_i64
26*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 40 {{.*}} sdiv
27*9880d681SAndroid Build Coastguard Worker
28*9880d681SAndroid Build Coastguard Worker  %1 = sdiv <2 x i64>  %a, %b
29*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %1
30*9880d681SAndroid Build Coastguard Worker}
31*9880d681SAndroid Build Coastguard Workerdefine <4 x i8> @sdiv_v4_i8(<4 x i8>  %a, <4 x i8> %b) {
32*9880d681SAndroid Build Coastguard Worker  ; CHECK: sdiv_v4_i8
33*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 10 {{.*}} sdiv
34*9880d681SAndroid Build Coastguard Worker
35*9880d681SAndroid Build Coastguard Worker  %1 = sdiv <4 x i8>  %a, %b
36*9880d681SAndroid Build Coastguard Worker  ret <4 x i8> %1
37*9880d681SAndroid Build Coastguard Worker}
38*9880d681SAndroid Build Coastguard Workerdefine <4 x i16> @sdiv_v4_i16(<4 x i16>  %a, <4 x i16> %b) {
39*9880d681SAndroid Build Coastguard Worker  ; CHECK: sdiv_v4_i16
40*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 10 {{.*}} sdiv
41*9880d681SAndroid Build Coastguard Worker
42*9880d681SAndroid Build Coastguard Worker  %1 = sdiv <4 x i16>  %a, %b
43*9880d681SAndroid Build Coastguard Worker  ret <4 x i16> %1
44*9880d681SAndroid Build Coastguard Worker}
45*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @sdiv_v4_i32(<4 x i32>  %a, <4 x i32> %b) {
46*9880d681SAndroid Build Coastguard Worker  ; CHECK: sdiv_v4_i32
47*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 80 {{.*}} sdiv
48*9880d681SAndroid Build Coastguard Worker
49*9880d681SAndroid Build Coastguard Worker  %1 = sdiv <4 x i32>  %a, %b
50*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %1
51*9880d681SAndroid Build Coastguard Worker}
52*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @sdiv_v4_i64(<4 x i64>  %a, <4 x i64> %b) {
53*9880d681SAndroid Build Coastguard Worker  ; CHECK: sdiv_v4_i64
54*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 80 {{.*}} sdiv
55*9880d681SAndroid Build Coastguard Worker
56*9880d681SAndroid Build Coastguard Worker  %1 = sdiv <4 x i64>  %a, %b
57*9880d681SAndroid Build Coastguard Worker  ret <4 x i64> %1
58*9880d681SAndroid Build Coastguard Worker}
59*9880d681SAndroid Build Coastguard Workerdefine <8 x i8> @sdiv_v8_i8(<8 x i8>  %a, <8 x i8> %b) {
60*9880d681SAndroid Build Coastguard Worker  ; CHECK: sdiv_v8_i8
61*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 10 {{.*}} sdiv
62*9880d681SAndroid Build Coastguard Worker
63*9880d681SAndroid Build Coastguard Worker  %1 = sdiv <8 x i8>  %a, %b
64*9880d681SAndroid Build Coastguard Worker  ret <8 x i8> %1
65*9880d681SAndroid Build Coastguard Worker}
66*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @sdiv_v8_i16(<8 x i16>  %a, <8 x i16> %b) {
67*9880d681SAndroid Build Coastguard Worker  ; CHECK: sdiv_v8_i16
68*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 160 {{.*}} sdiv
69*9880d681SAndroid Build Coastguard Worker
70*9880d681SAndroid Build Coastguard Worker  %1 = sdiv <8 x i16>  %a, %b
71*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %1
72*9880d681SAndroid Build Coastguard Worker}
73*9880d681SAndroid Build Coastguard Workerdefine <8 x i32> @sdiv_v8_i32(<8 x i32>  %a, <8 x i32> %b) {
74*9880d681SAndroid Build Coastguard Worker  ; CHECK: sdiv_v8_i32
75*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 160 {{.*}} sdiv
76*9880d681SAndroid Build Coastguard Worker
77*9880d681SAndroid Build Coastguard Worker  %1 = sdiv <8 x i32>  %a, %b
78*9880d681SAndroid Build Coastguard Worker  ret <8 x i32> %1
79*9880d681SAndroid Build Coastguard Worker}
80*9880d681SAndroid Build Coastguard Workerdefine <8 x i64> @sdiv_v8_i64(<8 x i64>  %a, <8 x i64> %b) {
81*9880d681SAndroid Build Coastguard Worker  ; CHECK: sdiv_v8_i64
82*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 160 {{.*}} sdiv
83*9880d681SAndroid Build Coastguard Worker
84*9880d681SAndroid Build Coastguard Worker  %1 = sdiv <8 x i64>  %a, %b
85*9880d681SAndroid Build Coastguard Worker  ret <8 x i64> %1
86*9880d681SAndroid Build Coastguard Worker}
87*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @sdiv_v16_i8(<16 x i8>  %a, <16 x i8> %b) {
88*9880d681SAndroid Build Coastguard Worker  ; CHECK: sdiv_v16_i8
89*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 320 {{.*}} sdiv
90*9880d681SAndroid Build Coastguard Worker
91*9880d681SAndroid Build Coastguard Worker  %1 = sdiv <16 x i8>  %a, %b
92*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %1
93*9880d681SAndroid Build Coastguard Worker}
94*9880d681SAndroid Build Coastguard Workerdefine <16 x i16> @sdiv_v16_i16(<16 x i16>  %a, <16 x i16> %b) {
95*9880d681SAndroid Build Coastguard Worker  ; CHECK: sdiv_v16_i16
96*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 320 {{.*}} sdiv
97*9880d681SAndroid Build Coastguard Worker
98*9880d681SAndroid Build Coastguard Worker  %1 = sdiv <16 x i16>  %a, %b
99*9880d681SAndroid Build Coastguard Worker  ret <16 x i16> %1
100*9880d681SAndroid Build Coastguard Worker}
101*9880d681SAndroid Build Coastguard Workerdefine <16 x i32> @sdiv_v16_i32(<16 x i32>  %a, <16 x i32> %b) {
102*9880d681SAndroid Build Coastguard Worker  ; CHECK: sdiv_v16_i32
103*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 320 {{.*}} sdiv
104*9880d681SAndroid Build Coastguard Worker
105*9880d681SAndroid Build Coastguard Worker  %1 = sdiv <16 x i32>  %a, %b
106*9880d681SAndroid Build Coastguard Worker  ret <16 x i32> %1
107*9880d681SAndroid Build Coastguard Worker}
108*9880d681SAndroid Build Coastguard Workerdefine <16 x i64> @sdiv_v16_i64(<16 x i64>  %a, <16 x i64> %b) {
109*9880d681SAndroid Build Coastguard Worker  ; CHECK: sdiv_v16_i64
110*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 320 {{.*}} sdiv
111*9880d681SAndroid Build Coastguard Worker
112*9880d681SAndroid Build Coastguard Worker  %1 = sdiv <16 x i64>  %a, %b
113*9880d681SAndroid Build Coastguard Worker  ret <16 x i64> %1
114*9880d681SAndroid Build Coastguard Worker}
115*9880d681SAndroid Build Coastguard Workerdefine <2 x i8> @udiv_v2_i8(<2 x i8>  %a, <2 x i8> %b) {
116*9880d681SAndroid Build Coastguard Worker  ; CHECK: udiv_v2_i8
117*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 40 {{.*}} udiv
118*9880d681SAndroid Build Coastguard Worker
119*9880d681SAndroid Build Coastguard Worker  %1 = udiv <2 x i8>  %a, %b
120*9880d681SAndroid Build Coastguard Worker  ret <2 x i8> %1
121*9880d681SAndroid Build Coastguard Worker}
122*9880d681SAndroid Build Coastguard Workerdefine <2 x i16> @udiv_v2_i16(<2 x i16>  %a, <2 x i16> %b) {
123*9880d681SAndroid Build Coastguard Worker  ; CHECK: udiv_v2_i16
124*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 40 {{.*}} udiv
125*9880d681SAndroid Build Coastguard Worker
126*9880d681SAndroid Build Coastguard Worker  %1 = udiv <2 x i16>  %a, %b
127*9880d681SAndroid Build Coastguard Worker  ret <2 x i16> %1
128*9880d681SAndroid Build Coastguard Worker}
129*9880d681SAndroid Build Coastguard Workerdefine <2 x i32> @udiv_v2_i32(<2 x i32>  %a, <2 x i32> %b) {
130*9880d681SAndroid Build Coastguard Worker  ; CHECK: udiv_v2_i32
131*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 40 {{.*}} udiv
132*9880d681SAndroid Build Coastguard Worker
133*9880d681SAndroid Build Coastguard Worker  %1 = udiv <2 x i32>  %a, %b
134*9880d681SAndroid Build Coastguard Worker  ret <2 x i32> %1
135*9880d681SAndroid Build Coastguard Worker}
136*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @udiv_v2_i64(<2 x i64>  %a, <2 x i64> %b) {
137*9880d681SAndroid Build Coastguard Worker  ; CHECK: udiv_v2_i64
138*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 40 {{.*}} udiv
139*9880d681SAndroid Build Coastguard Worker
140*9880d681SAndroid Build Coastguard Worker  %1 = udiv <2 x i64>  %a, %b
141*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %1
142*9880d681SAndroid Build Coastguard Worker}
143*9880d681SAndroid Build Coastguard Workerdefine <4 x i8> @udiv_v4_i8(<4 x i8>  %a, <4 x i8> %b) {
144*9880d681SAndroid Build Coastguard Worker  ; CHECK: udiv_v4_i8
145*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 10 {{.*}} udiv
146*9880d681SAndroid Build Coastguard Worker
147*9880d681SAndroid Build Coastguard Worker  %1 = udiv <4 x i8>  %a, %b
148*9880d681SAndroid Build Coastguard Worker  ret <4 x i8> %1
149*9880d681SAndroid Build Coastguard Worker}
150*9880d681SAndroid Build Coastguard Workerdefine <4 x i16> @udiv_v4_i16(<4 x i16>  %a, <4 x i16> %b) {
151*9880d681SAndroid Build Coastguard Worker  ; CHECK: udiv_v4_i16
152*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 10 {{.*}} udiv
153*9880d681SAndroid Build Coastguard Worker
154*9880d681SAndroid Build Coastguard Worker  %1 = udiv <4 x i16>  %a, %b
155*9880d681SAndroid Build Coastguard Worker  ret <4 x i16> %1
156*9880d681SAndroid Build Coastguard Worker}
157*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @udiv_v4_i32(<4 x i32>  %a, <4 x i32> %b) {
158*9880d681SAndroid Build Coastguard Worker  ; CHECK: udiv_v4_i32
159*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 80 {{.*}} udiv
160*9880d681SAndroid Build Coastguard Worker
161*9880d681SAndroid Build Coastguard Worker  %1 = udiv <4 x i32>  %a, %b
162*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %1
163*9880d681SAndroid Build Coastguard Worker}
164*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @udiv_v4_i64(<4 x i64>  %a, <4 x i64> %b) {
165*9880d681SAndroid Build Coastguard Worker  ; CHECK: udiv_v4_i64
166*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 80 {{.*}} udiv
167*9880d681SAndroid Build Coastguard Worker
168*9880d681SAndroid Build Coastguard Worker  %1 = udiv <4 x i64>  %a, %b
169*9880d681SAndroid Build Coastguard Worker  ret <4 x i64> %1
170*9880d681SAndroid Build Coastguard Worker}
171*9880d681SAndroid Build Coastguard Workerdefine <8 x i8> @udiv_v8_i8(<8 x i8>  %a, <8 x i8> %b) {
172*9880d681SAndroid Build Coastguard Worker  ; CHECK: udiv_v8_i8
173*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 10 {{.*}} udiv
174*9880d681SAndroid Build Coastguard Worker
175*9880d681SAndroid Build Coastguard Worker  %1 = udiv <8 x i8>  %a, %b
176*9880d681SAndroid Build Coastguard Worker  ret <8 x i8> %1
177*9880d681SAndroid Build Coastguard Worker}
178*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @udiv_v8_i16(<8 x i16>  %a, <8 x i16> %b) {
179*9880d681SAndroid Build Coastguard Worker  ; CHECK: udiv_v8_i16
180*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 160 {{.*}} udiv
181*9880d681SAndroid Build Coastguard Worker
182*9880d681SAndroid Build Coastguard Worker  %1 = udiv <8 x i16>  %a, %b
183*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %1
184*9880d681SAndroid Build Coastguard Worker}
185*9880d681SAndroid Build Coastguard Workerdefine <8 x i32> @udiv_v8_i32(<8 x i32>  %a, <8 x i32> %b) {
186*9880d681SAndroid Build Coastguard Worker  ; CHECK: udiv_v8_i32
187*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 160 {{.*}} udiv
188*9880d681SAndroid Build Coastguard Worker
189*9880d681SAndroid Build Coastguard Worker  %1 = udiv <8 x i32>  %a, %b
190*9880d681SAndroid Build Coastguard Worker  ret <8 x i32> %1
191*9880d681SAndroid Build Coastguard Worker}
192*9880d681SAndroid Build Coastguard Workerdefine <8 x i64> @udiv_v8_i64(<8 x i64>  %a, <8 x i64> %b) {
193*9880d681SAndroid Build Coastguard Worker  ; CHECK: udiv_v8_i64
194*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 160 {{.*}} udiv
195*9880d681SAndroid Build Coastguard Worker
196*9880d681SAndroid Build Coastguard Worker  %1 = udiv <8 x i64>  %a, %b
197*9880d681SAndroid Build Coastguard Worker  ret <8 x i64> %1
198*9880d681SAndroid Build Coastguard Worker}
199*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @udiv_v16_i8(<16 x i8>  %a, <16 x i8> %b) {
200*9880d681SAndroid Build Coastguard Worker  ; CHECK: udiv_v16_i8
201*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 320 {{.*}} udiv
202*9880d681SAndroid Build Coastguard Worker
203*9880d681SAndroid Build Coastguard Worker  %1 = udiv <16 x i8>  %a, %b
204*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %1
205*9880d681SAndroid Build Coastguard Worker}
206*9880d681SAndroid Build Coastguard Workerdefine <16 x i16> @udiv_v16_i16(<16 x i16>  %a, <16 x i16> %b) {
207*9880d681SAndroid Build Coastguard Worker  ; CHECK: udiv_v16_i16
208*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 320 {{.*}} udiv
209*9880d681SAndroid Build Coastguard Worker
210*9880d681SAndroid Build Coastguard Worker  %1 = udiv <16 x i16>  %a, %b
211*9880d681SAndroid Build Coastguard Worker  ret <16 x i16> %1
212*9880d681SAndroid Build Coastguard Worker}
213*9880d681SAndroid Build Coastguard Workerdefine <16 x i32> @udiv_v16_i32(<16 x i32>  %a, <16 x i32> %b) {
214*9880d681SAndroid Build Coastguard Worker  ; CHECK: udiv_v16_i32
215*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 320 {{.*}} udiv
216*9880d681SAndroid Build Coastguard Worker
217*9880d681SAndroid Build Coastguard Worker  %1 = udiv <16 x i32>  %a, %b
218*9880d681SAndroid Build Coastguard Worker  ret <16 x i32> %1
219*9880d681SAndroid Build Coastguard Worker}
220*9880d681SAndroid Build Coastguard Workerdefine <16 x i64> @udiv_v16_i64(<16 x i64>  %a, <16 x i64> %b) {
221*9880d681SAndroid Build Coastguard Worker  ; CHECK: udiv_v16_i64
222*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 320 {{.*}} udiv
223*9880d681SAndroid Build Coastguard Worker
224*9880d681SAndroid Build Coastguard Worker  %1 = udiv <16 x i64>  %a, %b
225*9880d681SAndroid Build Coastguard Worker  ret <16 x i64> %1
226*9880d681SAndroid Build Coastguard Worker}
227*9880d681SAndroid Build Coastguard Workerdefine <2 x i8> @srem_v2_i8(<2 x i8>  %a, <2 x i8> %b) {
228*9880d681SAndroid Build Coastguard Worker  ; CHECK: srem_v2_i8
229*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 40 {{.*}} srem
230*9880d681SAndroid Build Coastguard Worker
231*9880d681SAndroid Build Coastguard Worker  %1 = srem <2 x i8>  %a, %b
232*9880d681SAndroid Build Coastguard Worker  ret <2 x i8> %1
233*9880d681SAndroid Build Coastguard Worker}
234*9880d681SAndroid Build Coastguard Workerdefine <2 x i16> @srem_v2_i16(<2 x i16>  %a, <2 x i16> %b) {
235*9880d681SAndroid Build Coastguard Worker  ; CHECK: srem_v2_i16
236*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 40 {{.*}} srem
237*9880d681SAndroid Build Coastguard Worker
238*9880d681SAndroid Build Coastguard Worker  %1 = srem <2 x i16>  %a, %b
239*9880d681SAndroid Build Coastguard Worker  ret <2 x i16> %1
240*9880d681SAndroid Build Coastguard Worker}
241*9880d681SAndroid Build Coastguard Workerdefine <2 x i32> @srem_v2_i32(<2 x i32>  %a, <2 x i32> %b) {
242*9880d681SAndroid Build Coastguard Worker  ; CHECK: srem_v2_i32
243*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 40 {{.*}} srem
244*9880d681SAndroid Build Coastguard Worker
245*9880d681SAndroid Build Coastguard Worker  %1 = srem <2 x i32>  %a, %b
246*9880d681SAndroid Build Coastguard Worker  ret <2 x i32> %1
247*9880d681SAndroid Build Coastguard Worker}
248*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @srem_v2_i64(<2 x i64>  %a, <2 x i64> %b) {
249*9880d681SAndroid Build Coastguard Worker  ; CHECK: srem_v2_i64
250*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 40 {{.*}} srem
251*9880d681SAndroid Build Coastguard Worker
252*9880d681SAndroid Build Coastguard Worker  %1 = srem <2 x i64>  %a, %b
253*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %1
254*9880d681SAndroid Build Coastguard Worker}
255*9880d681SAndroid Build Coastguard Workerdefine <4 x i8> @srem_v4_i8(<4 x i8>  %a, <4 x i8> %b) {
256*9880d681SAndroid Build Coastguard Worker  ; CHECK: srem_v4_i8
257*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 80 {{.*}} srem
258*9880d681SAndroid Build Coastguard Worker
259*9880d681SAndroid Build Coastguard Worker  %1 = srem <4 x i8>  %a, %b
260*9880d681SAndroid Build Coastguard Worker  ret <4 x i8> %1
261*9880d681SAndroid Build Coastguard Worker}
262*9880d681SAndroid Build Coastguard Workerdefine <4 x i16> @srem_v4_i16(<4 x i16>  %a, <4 x i16> %b) {
263*9880d681SAndroid Build Coastguard Worker  ; CHECK: srem_v4_i16
264*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 80 {{.*}} srem
265*9880d681SAndroid Build Coastguard Worker
266*9880d681SAndroid Build Coastguard Worker  %1 = srem <4 x i16>  %a, %b
267*9880d681SAndroid Build Coastguard Worker  ret <4 x i16> %1
268*9880d681SAndroid Build Coastguard Worker}
269*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @srem_v4_i32(<4 x i32>  %a, <4 x i32> %b) {
270*9880d681SAndroid Build Coastguard Worker  ; CHECK: srem_v4_i32
271*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 80 {{.*}} srem
272*9880d681SAndroid Build Coastguard Worker
273*9880d681SAndroid Build Coastguard Worker  %1 = srem <4 x i32>  %a, %b
274*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %1
275*9880d681SAndroid Build Coastguard Worker}
276*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @srem_v4_i64(<4 x i64>  %a, <4 x i64> %b) {
277*9880d681SAndroid Build Coastguard Worker  ; CHECK: srem_v4_i64
278*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 80 {{.*}} srem
279*9880d681SAndroid Build Coastguard Worker
280*9880d681SAndroid Build Coastguard Worker  %1 = srem <4 x i64>  %a, %b
281*9880d681SAndroid Build Coastguard Worker  ret <4 x i64> %1
282*9880d681SAndroid Build Coastguard Worker}
283*9880d681SAndroid Build Coastguard Workerdefine <8 x i8> @srem_v8_i8(<8 x i8>  %a, <8 x i8> %b) {
284*9880d681SAndroid Build Coastguard Worker  ; CHECK: srem_v8_i8
285*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 160 {{.*}} srem
286*9880d681SAndroid Build Coastguard Worker
287*9880d681SAndroid Build Coastguard Worker  %1 = srem <8 x i8>  %a, %b
288*9880d681SAndroid Build Coastguard Worker  ret <8 x i8> %1
289*9880d681SAndroid Build Coastguard Worker}
290*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @srem_v8_i16(<8 x i16>  %a, <8 x i16> %b) {
291*9880d681SAndroid Build Coastguard Worker  ; CHECK: srem_v8_i16
292*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 160 {{.*}} srem
293*9880d681SAndroid Build Coastguard Worker
294*9880d681SAndroid Build Coastguard Worker  %1 = srem <8 x i16>  %a, %b
295*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %1
296*9880d681SAndroid Build Coastguard Worker}
297*9880d681SAndroid Build Coastguard Workerdefine <8 x i32> @srem_v8_i32(<8 x i32>  %a, <8 x i32> %b) {
298*9880d681SAndroid Build Coastguard Worker  ; CHECK: srem_v8_i32
299*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 160 {{.*}} srem
300*9880d681SAndroid Build Coastguard Worker
301*9880d681SAndroid Build Coastguard Worker  %1 = srem <8 x i32>  %a, %b
302*9880d681SAndroid Build Coastguard Worker  ret <8 x i32> %1
303*9880d681SAndroid Build Coastguard Worker}
304*9880d681SAndroid Build Coastguard Workerdefine <8 x i64> @srem_v8_i64(<8 x i64>  %a, <8 x i64> %b) {
305*9880d681SAndroid Build Coastguard Worker  ; CHECK: srem_v8_i64
306*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 160 {{.*}} srem
307*9880d681SAndroid Build Coastguard Worker
308*9880d681SAndroid Build Coastguard Worker  %1 = srem <8 x i64>  %a, %b
309*9880d681SAndroid Build Coastguard Worker  ret <8 x i64> %1
310*9880d681SAndroid Build Coastguard Worker}
311*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @srem_v16_i8(<16 x i8>  %a, <16 x i8> %b) {
312*9880d681SAndroid Build Coastguard Worker  ; CHECK: srem_v16_i8
313*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 320 {{.*}} srem
314*9880d681SAndroid Build Coastguard Worker
315*9880d681SAndroid Build Coastguard Worker  %1 = srem <16 x i8>  %a, %b
316*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %1
317*9880d681SAndroid Build Coastguard Worker}
318*9880d681SAndroid Build Coastguard Workerdefine <16 x i16> @srem_v16_i16(<16 x i16>  %a, <16 x i16> %b) {
319*9880d681SAndroid Build Coastguard Worker  ; CHECK: srem_v16_i16
320*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 320 {{.*}} srem
321*9880d681SAndroid Build Coastguard Worker
322*9880d681SAndroid Build Coastguard Worker  %1 = srem <16 x i16>  %a, %b
323*9880d681SAndroid Build Coastguard Worker  ret <16 x i16> %1
324*9880d681SAndroid Build Coastguard Worker}
325*9880d681SAndroid Build Coastguard Workerdefine <16 x i32> @srem_v16_i32(<16 x i32>  %a, <16 x i32> %b) {
326*9880d681SAndroid Build Coastguard Worker  ; CHECK: srem_v16_i32
327*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 320 {{.*}} srem
328*9880d681SAndroid Build Coastguard Worker
329*9880d681SAndroid Build Coastguard Worker  %1 = srem <16 x i32>  %a, %b
330*9880d681SAndroid Build Coastguard Worker  ret <16 x i32> %1
331*9880d681SAndroid Build Coastguard Worker}
332*9880d681SAndroid Build Coastguard Workerdefine <16 x i64> @srem_v16_i64(<16 x i64>  %a, <16 x i64> %b) {
333*9880d681SAndroid Build Coastguard Worker  ; CHECK: srem_v16_i64
334*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 320 {{.*}} srem
335*9880d681SAndroid Build Coastguard Worker
336*9880d681SAndroid Build Coastguard Worker  %1 = srem <16 x i64>  %a, %b
337*9880d681SAndroid Build Coastguard Worker  ret <16 x i64> %1
338*9880d681SAndroid Build Coastguard Worker}
339*9880d681SAndroid Build Coastguard Workerdefine <2 x i8> @urem_v2_i8(<2 x i8>  %a, <2 x i8> %b) {
340*9880d681SAndroid Build Coastguard Worker  ; CHECK: urem_v2_i8
341*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 40 {{.*}} urem
342*9880d681SAndroid Build Coastguard Worker
343*9880d681SAndroid Build Coastguard Worker  %1 = urem <2 x i8>  %a, %b
344*9880d681SAndroid Build Coastguard Worker  ret <2 x i8> %1
345*9880d681SAndroid Build Coastguard Worker}
346*9880d681SAndroid Build Coastguard Workerdefine <2 x i16> @urem_v2_i16(<2 x i16>  %a, <2 x i16> %b) {
347*9880d681SAndroid Build Coastguard Worker  ; CHECK: urem_v2_i16
348*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 40 {{.*}} urem
349*9880d681SAndroid Build Coastguard Worker
350*9880d681SAndroid Build Coastguard Worker  %1 = urem <2 x i16>  %a, %b
351*9880d681SAndroid Build Coastguard Worker  ret <2 x i16> %1
352*9880d681SAndroid Build Coastguard Worker}
353*9880d681SAndroid Build Coastguard Workerdefine <2 x i32> @urem_v2_i32(<2 x i32>  %a, <2 x i32> %b) {
354*9880d681SAndroid Build Coastguard Worker  ; CHECK: urem_v2_i32
355*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 40 {{.*}} urem
356*9880d681SAndroid Build Coastguard Worker
357*9880d681SAndroid Build Coastguard Worker  %1 = urem <2 x i32>  %a, %b
358*9880d681SAndroid Build Coastguard Worker  ret <2 x i32> %1
359*9880d681SAndroid Build Coastguard Worker}
360*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @urem_v2_i64(<2 x i64>  %a, <2 x i64> %b) {
361*9880d681SAndroid Build Coastguard Worker  ; CHECK: urem_v2_i64
362*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 40 {{.*}} urem
363*9880d681SAndroid Build Coastguard Worker
364*9880d681SAndroid Build Coastguard Worker  %1 = urem <2 x i64>  %a, %b
365*9880d681SAndroid Build Coastguard Worker  ret <2 x i64> %1
366*9880d681SAndroid Build Coastguard Worker}
367*9880d681SAndroid Build Coastguard Workerdefine <4 x i8> @urem_v4_i8(<4 x i8>  %a, <4 x i8> %b) {
368*9880d681SAndroid Build Coastguard Worker  ; CHECK: urem_v4_i8
369*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 80 {{.*}} urem
370*9880d681SAndroid Build Coastguard Worker
371*9880d681SAndroid Build Coastguard Worker  %1 = urem <4 x i8>  %a, %b
372*9880d681SAndroid Build Coastguard Worker  ret <4 x i8> %1
373*9880d681SAndroid Build Coastguard Worker}
374*9880d681SAndroid Build Coastguard Workerdefine <4 x i16> @urem_v4_i16(<4 x i16>  %a, <4 x i16> %b) {
375*9880d681SAndroid Build Coastguard Worker  ; CHECK: urem_v4_i16
376*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 80 {{.*}} urem
377*9880d681SAndroid Build Coastguard Worker
378*9880d681SAndroid Build Coastguard Worker  %1 = urem <4 x i16>  %a, %b
379*9880d681SAndroid Build Coastguard Worker  ret <4 x i16> %1
380*9880d681SAndroid Build Coastguard Worker}
381*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @urem_v4_i32(<4 x i32>  %a, <4 x i32> %b) {
382*9880d681SAndroid Build Coastguard Worker  ; CHECK: urem_v4_i32
383*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 80 {{.*}} urem
384*9880d681SAndroid Build Coastguard Worker
385*9880d681SAndroid Build Coastguard Worker  %1 = urem <4 x i32>  %a, %b
386*9880d681SAndroid Build Coastguard Worker  ret <4 x i32> %1
387*9880d681SAndroid Build Coastguard Worker}
388*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @urem_v4_i64(<4 x i64>  %a, <4 x i64> %b) {
389*9880d681SAndroid Build Coastguard Worker  ; CHECK: urem_v4_i64
390*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 80 {{.*}} urem
391*9880d681SAndroid Build Coastguard Worker
392*9880d681SAndroid Build Coastguard Worker  %1 = urem <4 x i64>  %a, %b
393*9880d681SAndroid Build Coastguard Worker  ret <4 x i64> %1
394*9880d681SAndroid Build Coastguard Worker}
395*9880d681SAndroid Build Coastguard Workerdefine <8 x i8> @urem_v8_i8(<8 x i8>  %a, <8 x i8> %b) {
396*9880d681SAndroid Build Coastguard Worker  ; CHECK: urem_v8_i8
397*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 160 {{.*}} urem
398*9880d681SAndroid Build Coastguard Worker
399*9880d681SAndroid Build Coastguard Worker  %1 = urem <8 x i8>  %a, %b
400*9880d681SAndroid Build Coastguard Worker  ret <8 x i8> %1
401*9880d681SAndroid Build Coastguard Worker}
402*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @urem_v8_i16(<8 x i16>  %a, <8 x i16> %b) {
403*9880d681SAndroid Build Coastguard Worker  ; CHECK: urem_v8_i16
404*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 160 {{.*}} urem
405*9880d681SAndroid Build Coastguard Worker
406*9880d681SAndroid Build Coastguard Worker  %1 = urem <8 x i16>  %a, %b
407*9880d681SAndroid Build Coastguard Worker  ret <8 x i16> %1
408*9880d681SAndroid Build Coastguard Worker}
409*9880d681SAndroid Build Coastguard Workerdefine <8 x i32> @urem_v8_i32(<8 x i32>  %a, <8 x i32> %b) {
410*9880d681SAndroid Build Coastguard Worker  ; CHECK: urem_v8_i32
411*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 160 {{.*}} urem
412*9880d681SAndroid Build Coastguard Worker
413*9880d681SAndroid Build Coastguard Worker  %1 = urem <8 x i32>  %a, %b
414*9880d681SAndroid Build Coastguard Worker  ret <8 x i32> %1
415*9880d681SAndroid Build Coastguard Worker}
416*9880d681SAndroid Build Coastguard Workerdefine <8 x i64> @urem_v8_i64(<8 x i64>  %a, <8 x i64> %b) {
417*9880d681SAndroid Build Coastguard Worker  ; CHECK: urem_v8_i64
418*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 160 {{.*}} urem
419*9880d681SAndroid Build Coastguard Worker
420*9880d681SAndroid Build Coastguard Worker  %1 = urem <8 x i64>  %a, %b
421*9880d681SAndroid Build Coastguard Worker  ret <8 x i64> %1
422*9880d681SAndroid Build Coastguard Worker}
423*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @urem_v16_i8(<16 x i8>  %a, <16 x i8> %b) {
424*9880d681SAndroid Build Coastguard Worker  ; CHECK: urem_v16_i8
425*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 320 {{.*}} urem
426*9880d681SAndroid Build Coastguard Worker
427*9880d681SAndroid Build Coastguard Worker  %1 = urem <16 x i8>  %a, %b
428*9880d681SAndroid Build Coastguard Worker  ret <16 x i8> %1
429*9880d681SAndroid Build Coastguard Worker}
430*9880d681SAndroid Build Coastguard Workerdefine <16 x i16> @urem_v16_i16(<16 x i16>  %a, <16 x i16> %b) {
431*9880d681SAndroid Build Coastguard Worker  ; CHECK: urem_v16_i16
432*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 320 {{.*}} urem
433*9880d681SAndroid Build Coastguard Worker
434*9880d681SAndroid Build Coastguard Worker  %1 = urem <16 x i16>  %a, %b
435*9880d681SAndroid Build Coastguard Worker  ret <16 x i16> %1
436*9880d681SAndroid Build Coastguard Worker}
437*9880d681SAndroid Build Coastguard Workerdefine <16 x i32> @urem_v16_i32(<16 x i32>  %a, <16 x i32> %b) {
438*9880d681SAndroid Build Coastguard Worker  ; CHECK: urem_v16_i32
439*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 320 {{.*}} urem
440*9880d681SAndroid Build Coastguard Worker
441*9880d681SAndroid Build Coastguard Worker  %1 = urem <16 x i32>  %a, %b
442*9880d681SAndroid Build Coastguard Worker  ret <16 x i32> %1
443*9880d681SAndroid Build Coastguard Worker}
444*9880d681SAndroid Build Coastguard Workerdefine <16 x i64> @urem_v16_i64(<16 x i64>  %a, <16 x i64> %b) {
445*9880d681SAndroid Build Coastguard Worker  ; CHECK: urem_v16_i64
446*9880d681SAndroid Build Coastguard Worker  ; CHECK: cost of 320 {{.*}} urem
447*9880d681SAndroid Build Coastguard Worker
448*9880d681SAndroid Build Coastguard Worker  %1 = urem <16 x i64>  %a, %b
449*9880d681SAndroid Build Coastguard Worker  ret <16 x i64> %1
450*9880d681SAndroid Build Coastguard Worker}
451