@@ -12,10 +12,9 @@ define i8 @scalar_i8(i8 %x, i8 %y, i8* %divdst) nounwind {
12
12
; X86-LABEL: scalar_i8:
13
13
; X86: # %bb.0:
14
14
; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
15
- ; X86-NEXT: movb {{[0-9]+}}(%esp), %cl
16
- ; X86-NEXT: movl %ecx, %eax
17
- ; X86-NEXT: cbtw
18
15
; X86-NEXT: movb {{[0-9]+}}(%esp), %ch
16
+ ; X86-NEXT: movb {{[0-9]+}}(%esp), %cl
17
+ ; X86-NEXT: movsbl %cl, %eax
19
18
; X86-NEXT: idivb %ch
20
19
; X86-NEXT: movb %al, (%edx)
21
20
; X86-NEXT: mulb %ch
@@ -25,13 +24,13 @@ define i8 @scalar_i8(i8 %x, i8 %y, i8* %divdst) nounwind {
25
24
;
26
25
; X64-LABEL: scalar_i8:
27
26
; X64: # %bb.0:
28
- ; X64-NEXT: movl %edi , %eax
29
- ; X64-NEXT: cbtw
27
+ ; X64-NEXT: movsbl %dil , %ecx
28
+ ; X64-NEXT: movl %ecx, %eax
30
29
; X64-NEXT: idivb %sil
31
30
; X64-NEXT: movb %al, (%rdx)
32
31
; X64-NEXT: mulb %sil
33
- ; X64-NEXT: subb %al, %dil
34
- ; X64-NEXT: movl %edi , %eax
32
+ ; X64-NEXT: subb %al, %cl
33
+ ; X64-NEXT: movl %ecx , %eax
35
34
; X64-NEXT: retq
36
35
%div = sdiv i8 %x , %y
37
36
store i8 %div , i8* %divdst , align 4
@@ -182,104 +181,87 @@ define <16 x i8> @vector_i128_i8(<16 x i8> %x, <16 x i8> %y, <16 x i8>* %divdst)
182
181
; X86-NEXT: subl $48, %esp
183
182
; X86-NEXT: movdqa %xmm0, (%esp)
184
183
; X86-NEXT: movdqa %xmm1, {{[0-9]+}}(%esp)
185
- ; X86-NEXT: movb {{[0-9]+}}(%esp), %al
186
- ; X86-NEXT: cbtw
184
+ ; X86-NEXT: movsbl {{[0-9]+}}(%esp), %eax
187
185
; X86-NEXT: idivb {{[0-9]+}}(%esp)
188
186
; X86-NEXT: movzbl %al, %eax
189
187
; X86-NEXT: movd %eax, %xmm2
190
- ; X86-NEXT: movb {{[0-9]+}}(%esp), %al
191
- ; X86-NEXT: cbtw
188
+ ; X86-NEXT: movsbl {{[0-9]+}}(%esp), %eax
192
189
; X86-NEXT: idivb {{[0-9]+}}(%esp)
193
190
; X86-NEXT: movzbl %al, %eax
194
191
; X86-NEXT: movd %eax, %xmm3
195
192
; X86-NEXT: punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3],xmm3[4],xmm2[4],xmm3[5],xmm2[5],xmm3[6],xmm2[6],xmm3[7],xmm2[7]
196
- ; X86-NEXT: movb {{[0-9]+}}(%esp), %al
197
- ; X86-NEXT: cbtw
193
+ ; X86-NEXT: movsbl {{[0-9]+}}(%esp), %eax
198
194
; X86-NEXT: idivb {{[0-9]+}}(%esp)
199
195
; X86-NEXT: movzbl %al, %eax
200
196
; X86-NEXT: movd %eax, %xmm4
201
- ; X86-NEXT: movb {{[0-9]+}}(%esp), %al
202
- ; X86-NEXT: cbtw
197
+ ; X86-NEXT: movsbl {{[0-9]+}}(%esp), %eax
203
198
; X86-NEXT: idivb {{[0-9]+}}(%esp)
204
199
; X86-NEXT: movzbl %al, %eax
205
200
; X86-NEXT: movd %eax, %xmm2
206
201
; X86-NEXT: punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3],xmm2[4],xmm4[4],xmm2[5],xmm4[5],xmm2[6],xmm4[6],xmm2[7],xmm4[7]
207
202
; X86-NEXT: punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]
208
- ; X86-NEXT: movb {{[0-9]+}}(%esp), %al
209
- ; X86-NEXT: cbtw
203
+ ; X86-NEXT: movsbl {{[0-9]+}}(%esp), %eax
210
204
; X86-NEXT: idivb {{[0-9]+}}(%esp)
211
205
; X86-NEXT: movzbl %al, %eax
212
206
; X86-NEXT: movd %eax, %xmm3
213
- ; X86-NEXT: movb {{[0-9]+}}(%esp), %al
214
- ; X86-NEXT: cbtw
207
+ ; X86-NEXT: movsbl {{[0-9]+}}(%esp), %eax
215
208
; X86-NEXT: idivb {{[0-9]+}}(%esp)
216
209
; X86-NEXT: movzbl %al, %eax
217
210
; X86-NEXT: movd %eax, %xmm4
218
211
; X86-NEXT: punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm3[0],xmm4[1],xmm3[1],xmm4[2],xmm3[2],xmm4[3],xmm3[3],xmm4[4],xmm3[4],xmm4[5],xmm3[5],xmm4[6],xmm3[6],xmm4[7],xmm3[7]
219
- ; X86-NEXT: movb {{[0-9]+}}(%esp), %al
220
- ; X86-NEXT: cbtw
212
+ ; X86-NEXT: movsbl {{[0-9]+}}(%esp), %eax
221
213
; X86-NEXT: idivb {{[0-9]+}}(%esp)
222
214
; X86-NEXT: movzbl %al, %eax
223
215
; X86-NEXT: movd %eax, %xmm5
224
- ; X86-NEXT: movb {{[0-9]+}}(%esp), %al
225
- ; X86-NEXT: cbtw
216
+ ; X86-NEXT: movsbl {{[0-9]+}}(%esp), %eax
226
217
; X86-NEXT: idivb {{[0-9]+}}(%esp)
227
218
; X86-NEXT: movzbl %al, %eax
228
219
; X86-NEXT: movd %eax, %xmm3
229
220
; X86-NEXT: punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1],xmm3[2],xmm5[2],xmm3[3],xmm5[3],xmm3[4],xmm5[4],xmm3[5],xmm5[5],xmm3[6],xmm5[6],xmm3[7],xmm5[7]
230
- ; X86-NEXT: movb {{[0-9]+}}(%esp), %al
231
- ; X86-NEXT: cbtw
221
+ ; X86-NEXT: movsbl {{[0-9]+}}(%esp), %eax
232
222
; X86-NEXT: idivb {{[0-9]+}}(%esp)
233
223
; X86-NEXT: movzbl %al, %eax
234
224
; X86-NEXT: movd %eax, %xmm5
235
- ; X86-NEXT: movb {{[0-9]+}}(%esp), %al
236
- ; X86-NEXT: cbtw
225
+ ; X86-NEXT: movsbl {{[0-9]+}}(%esp), %eax
237
226
; X86-NEXT: idivb {{[0-9]+}}(%esp)
238
227
; X86-NEXT: movzbl %al, %eax
239
228
; X86-NEXT: movd %eax, %xmm6
240
- ; X86-NEXT: movb {{[0-9]+}}(%esp), %al
241
- ; X86-NEXT: cbtw
229
+ ; X86-NEXT: movsbl {{[0-9]+}}(%esp), %eax
230
+ ; X86-NEXT: idivb {{[0-9]+}}(%esp)
231
+ ; X86-NEXT: movzbl %al, %edx
232
+ ; X86-NEXT: movsbl {{[0-9]+}}(%esp), %eax
242
233
; X86-NEXT: idivb {{[0-9]+}}(%esp)
243
234
; X86-NEXT: movzbl %al, %esi
244
- ; X86-NEXT: movb {{[0-9]+}}(%esp), %al
245
- ; X86-NEXT: cbtw
235
+ ; X86-NEXT: movsbl {{[0-9]+}}(%esp), %eax
246
236
; X86-NEXT: idivb {{[0-9]+}}(%esp)
247
237
; X86-NEXT: movzbl %al, %edi
248
- ; X86-NEXT: movb {{[0-9]+}}(%esp), %al
249
- ; X86-NEXT: cbtw
238
+ ; X86-NEXT: movsbl {{[0-9]+}}(%esp), %eax
250
239
; X86-NEXT: idivb {{[0-9]+}}(%esp)
251
240
; X86-NEXT: movzbl %al, %ebx
252
- ; X86-NEXT: movb {{[0-9]+}}(%esp), %al
253
- ; X86-NEXT: cbtw
241
+ ; X86-NEXT: movsbl {{[0-9]+}}(%esp), %eax
254
242
; X86-NEXT: idivb {{[0-9]+}}(%esp)
255
243
; X86-NEXT: movl %eax, %ecx
256
- ; X86-NEXT: movb {{[0-9]+}}(%esp), %al
257
- ; X86-NEXT: cbtw
258
- ; X86-NEXT: movb (%esp), %dl
244
+ ; X86-NEXT: movsbl (%esp), %eax
259
245
; X86-NEXT: idivb {{[0-9]+}}(%esp)
260
246
; X86-NEXT: punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3]
261
- ; X86-NEXT: movd %esi , %xmm4
247
+ ; X86-NEXT: movd %edx , %xmm4
262
248
; X86-NEXT: punpckldq {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]
263
- ; X86-NEXT: movd %edi , %xmm2
249
+ ; X86-NEXT: movd %esi , %xmm2
264
250
; X86-NEXT: punpcklbw {{.*#+}} xmm6 = xmm6[0],xmm5[0],xmm6[1],xmm5[1],xmm6[2],xmm5[2],xmm6[3],xmm5[3],xmm6[4],xmm5[4],xmm6[5],xmm5[5],xmm6[6],xmm5[6],xmm6[7],xmm5[7]
251
+ ; X86-NEXT: movd %edi, %xmm5
265
252
; X86-NEXT: punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm4[0],xmm2[1],xmm4[1],xmm2[2],xmm4[2],xmm2[3],xmm4[3],xmm2[4],xmm4[4],xmm2[5],xmm4[5],xmm2[6],xmm4[6],xmm2[7],xmm4[7]
253
+ ; X86-NEXT: punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm6[0],xmm2[1],xmm6[1],xmm2[2],xmm6[2],xmm2[3],xmm6[3]
266
254
; X86-NEXT: movd %ebx, %xmm4
267
255
; X86-NEXT: movzbl %cl, %ecx
268
- ; X86-NEXT: movd %ecx, %xmm5
256
+ ; X86-NEXT: movd %ecx, %xmm6
269
257
; X86-NEXT: movl 8(%ebp), %ecx
270
- ; X86-NEXT: punpcklwd {{.*#+}} xmm2 = xmm2[0],xmm6[0],xmm2[1],xmm6[1],xmm2[2],xmm6[2],xmm2[3],xmm6[3]
271
- ; X86-NEXT: punpcklbw {{.*#+}} xmm5 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3],xmm5[4],xmm4[4],xmm5[5],xmm4[5],xmm5[6],xmm4[6],xmm5[7],xmm4[7]
272
- ; X86-NEXT: movzbl %al, %eax
273
- ; X86-NEXT: movd %eax, %xmm4
274
- ; X86-NEXT: movl %edx, %eax
275
- ; X86-NEXT: cbtw
276
- ; X86-NEXT: idivb {{[0-9]+}}(%esp)
258
+ ; X86-NEXT: punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm5[0],xmm4[1],xmm5[1],xmm4[2],xmm5[2],xmm4[3],xmm5[3],xmm4[4],xmm5[4],xmm4[5],xmm5[5],xmm4[6],xmm5[6],xmm4[7],xmm5[7]
277
259
; X86-NEXT: movzbl %al, %eax
278
- ; X86-NEXT: movd %eax, %xmm6
279
- ; X86-NEXT: punpcklbw {{.*#+}} xmm6 = xmm6 [0],xmm4 [0],xmm6 [1],xmm4 [1],xmm6 [2],xmm4 [2],xmm6 [3],xmm4 [3],xmm6 [4],xmm4 [4],xmm6 [5],xmm4 [5],xmm6 [6],xmm4 [6],xmm6 [7],xmm4 [7]
280
- ; X86-NEXT: punpcklwd {{.*#+}} xmm6 = xmm6 [0],xmm5 [0],xmm6 [1],xmm5 [1],xmm6 [2],xmm5 [2],xmm6 [3],xmm5 [3]
281
- ; X86-NEXT: punpckldq {{.*#+}} xmm6 = xmm6 [0],xmm2[0],xmm6 [1],xmm2[1]
282
- ; X86-NEXT: movdqa %xmm6 , %xmm2
260
+ ; X86-NEXT: movd %eax, %xmm5
261
+ ; X86-NEXT: punpcklbw {{.*#+}} xmm5 = xmm5 [0],xmm6 [0],xmm5 [1],xmm6 [1],xmm5 [2],xmm6 [2],xmm5 [3],xmm6 [3],xmm5 [4],xmm6 [4],xmm5 [5],xmm6 [5],xmm5 [6],xmm6 [6],xmm5 [7],xmm6 [7]
262
+ ; X86-NEXT: punpcklwd {{.*#+}} xmm5 = xmm5 [0],xmm4 [0],xmm5 [1],xmm4 [1],xmm5 [2],xmm4 [2],xmm5 [3],xmm4 [3]
263
+ ; X86-NEXT: punpckldq {{.*#+}} xmm5 = xmm5 [0],xmm2[0],xmm5 [1],xmm2[1]
264
+ ; X86-NEXT: movdqa %xmm5 , %xmm2
283
265
; X86-NEXT: punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
284
266
; X86-NEXT: movdqa %xmm2, (%ecx)
285
267
; X86-NEXT: punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1],xmm3[2],xmm0[2],xmm3[3],xmm0[3],xmm3[4],xmm0[4],xmm3[5],xmm0[5],xmm3[6],xmm0[6],xmm3[7],xmm0[7]
@@ -288,9 +270,9 @@ define <16 x i8> @vector_i128_i8(<16 x i8> %x, <16 x i8> %y, <16 x i8>* %divdst)
288
270
; X86-NEXT: pmullw %xmm3, %xmm2
289
271
; X86-NEXT: movdqa {{.*#+}} xmm3 = [255,255,255,255,255,255,255,255]
290
272
; X86-NEXT: pand %xmm3, %xmm2
291
- ; X86-NEXT: punpcklbw {{.*#+}} xmm6 = xmm6 [0],xmm0[0],xmm6 [1],xmm0[1],xmm6 [2],xmm0[2],xmm6 [3],xmm0[3],xmm6 [4],xmm0[4],xmm6 [5],xmm0[5],xmm6 [6],xmm0[6],xmm6 [7],xmm0[7]
273
+ ; X86-NEXT: punpcklbw {{.*#+}} xmm5 = xmm5 [0],xmm0[0],xmm5 [1],xmm0[1],xmm5 [2],xmm0[2],xmm5 [3],xmm0[3],xmm5 [4],xmm0[4],xmm5 [5],xmm0[5],xmm5 [6],xmm0[6],xmm5 [7],xmm0[7]
292
274
; X86-NEXT: punpcklbw {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3],xmm1[4],xmm0[4],xmm1[5],xmm0[5],xmm1[6],xmm0[6],xmm1[7],xmm0[7]
293
- ; X86-NEXT: pmullw %xmm6 , %xmm1
275
+ ; X86-NEXT: pmullw %xmm5 , %xmm1
294
276
; X86-NEXT: pand %xmm3, %xmm1
295
277
; X86-NEXT: packuswb %xmm2, %xmm1
296
278
; X86-NEXT: psubb %xmm1, %xmm0
@@ -312,66 +294,53 @@ define <16 x i8> @vector_i128_i8(<16 x i8> %x, <16 x i8> %y, <16 x i8>* %divdst)
312
294
; X64-NEXT: movq %rdi, {{[-0-9]+}}(%r{{[sb]}}p) # 8-byte Spill
313
295
; X64-NEXT: movdqa %xmm0, -{{[0-9]+}}(%rsp)
314
296
; X64-NEXT: movdqa %xmm1, -{{[0-9]+}}(%rsp)
315
- ; X64-NEXT: movb -{{[0-9]+}}(%rsp), %al
316
- ; X64-NEXT: cbtw
297
+ ; X64-NEXT: movsbl -{{[0-9]+}}(%rsp), %eax
317
298
; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
318
299
; X64-NEXT: movzbl %al, %eax
319
300
; X64-NEXT: movd %eax, %xmm2
320
- ; X64-NEXT: movb -{{[0-9]+}}(%rsp), %al
321
- ; X64-NEXT: cbtw
301
+ ; X64-NEXT: movsbl -{{[0-9]+}}(%rsp), %eax
322
302
; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
323
303
; X64-NEXT: movzbl %al, %r8d
324
- ; X64-NEXT: movb -{{[0-9]+}}(%rsp), %al
325
- ; X64-NEXT: cbtw
304
+ ; X64-NEXT: movsbl -{{[0-9]+}}(%rsp), %eax
326
305
; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
327
306
; X64-NEXT: movzbl %al, %r9d
328
- ; X64-NEXT: movb -{{[0-9]+}}(%rsp), %al
329
- ; X64-NEXT: cbtw
307
+ ; X64-NEXT: movsbl -{{[0-9]+}}(%rsp), %eax
330
308
; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
331
309
; X64-NEXT: movzbl %al, %r10d
332
- ; X64-NEXT: movb -{{[0-9]+}}(%rsp), %al
333
- ; X64-NEXT: cbtw
310
+ ; X64-NEXT: movsbl -{{[0-9]+}}(%rsp), %eax
334
311
; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
335
312
; X64-NEXT: movzbl %al, %r11d
336
- ; X64-NEXT: movb -{{[0-9]+}}(%rsp), %al
337
- ; X64-NEXT: cbtw
313
+ ; X64-NEXT: movsbl -{{[0-9]+}}(%rsp), %eax
338
314
; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
339
315
; X64-NEXT: movzbl %al, %r14d
340
- ; X64-NEXT: movb -{{[0-9]+}}(%rsp), %al
341
- ; X64-NEXT: cbtw
316
+ ; X64-NEXT: movsbl -{{[0-9]+}}(%rsp), %eax
342
317
; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
343
318
; X64-NEXT: movzbl %al, %r15d
344
- ; X64-NEXT: movb -{{[0-9]+}}(%rsp), %al
345
- ; X64-NEXT: cbtw
319
+ ; X64-NEXT: movsbl -{{[0-9]+}}(%rsp), %eax
346
320
; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
347
321
; X64-NEXT: movzbl %al, %r12d
348
- ; X64-NEXT: movb -{{[0-9]+}}(%rsp), %al
349
- ; X64-NEXT: cbtw
322
+ ; X64-NEXT: movsbl -{{[0-9]+}}(%rsp), %eax
350
323
; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
351
324
; X64-NEXT: movzbl %al, %r13d
352
- ; X64-NEXT: movb -{{[0-9]+}}(%rsp), %al
353
- ; X64-NEXT: cbtw
325
+ ; X64-NEXT: movsbl -{{[0-9]+}}(%rsp), %eax
326
+ ; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
327
+ ; X64-NEXT: movzbl %al, %edi
328
+ ; X64-NEXT: movsbl -{{[0-9]+}}(%rsp), %eax
329
+ ; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
330
+ ; X64-NEXT: movzbl %al, %esi
331
+ ; X64-NEXT: movsbl -{{[0-9]+}}(%rsp), %eax
354
332
; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
355
333
; X64-NEXT: movzbl %al, %ebx
356
- ; X64-NEXT: movb -{{[0-9]+}}(%rsp), %al
357
- ; X64-NEXT: cbtw
334
+ ; X64-NEXT: movsbl -{{[0-9]+}}(%rsp), %eax
358
335
; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
359
336
; X64-NEXT: movzbl %al, %ebp
360
- ; X64-NEXT: movb -{{[0-9]+}}(%rsp), %al
361
- ; X64-NEXT: cbtw
362
- ; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
363
- ; X64-NEXT: movzbl %al, %edi
364
- ; X64-NEXT: movb -{{[0-9]+}}(%rsp), %al
365
- ; X64-NEXT: cbtw
337
+ ; X64-NEXT: movsbl -{{[0-9]+}}(%rsp), %eax
366
338
; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
367
- ; X64-NEXT: movzbl %al, %esi
368
- ; X64-NEXT: movb -{{[0-9]+}}(%rsp), %al
369
- ; X64-NEXT: cbtw
339
+ ; X64-NEXT: movzbl %al, %edx
340
+ ; X64-NEXT: movsbl -{{[0-9]+}}(%rsp), %eax
370
341
; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
371
342
; X64-NEXT: movl %eax, %ecx
372
- ; X64-NEXT: movb -{{[0-9]+}}(%rsp), %al
373
- ; X64-NEXT: cbtw
374
- ; X64-NEXT: movb -{{[0-9]+}}(%rsp), %dl
343
+ ; X64-NEXT: movsbl -{{[0-9]+}}(%rsp), %eax
375
344
; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
376
345
; X64-NEXT: movd %r8d, %xmm3
377
346
; X64-NEXT: movd %r9d, %xmm4
@@ -386,24 +355,20 @@ define <16 x i8> @vector_i128_i8(<16 x i8> %x, <16 x i8> %y, <16 x i8>* %divdst)
386
355
; X64-NEXT: punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm6[0],xmm2[1],xmm6[1],xmm2[2],xmm6[2],xmm2[3],xmm6[3],xmm2[4],xmm6[4],xmm2[5],xmm6[5],xmm2[6],xmm6[6],xmm2[7],xmm6[7]
387
356
; X64-NEXT: movd %r13d, %xmm6
388
357
; X64-NEXT: punpcklbw {{.*#+}} xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1],xmm3[2],xmm4[2],xmm3[3],xmm4[3],xmm3[4],xmm4[4],xmm3[5],xmm4[5],xmm3[6],xmm4[6],xmm3[7],xmm4[7]
389
- ; X64-NEXT: movd %ebx , %xmm4
358
+ ; X64-NEXT: movd %edi , %xmm4
390
359
; X64-NEXT: punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]
391
- ; X64-NEXT: movd %ebp , %xmm2
360
+ ; X64-NEXT: movd %esi , %xmm2
392
361
; X64-NEXT: punpckldq {{.*#+}} xmm3 = xmm3[0],xmm5[0],xmm3[1],xmm5[1]
393
- ; X64-NEXT: movd %edi , %xmm5
362
+ ; X64-NEXT: movd %ebx , %xmm5
394
363
; X64-NEXT: punpcklbw {{.*#+}} xmm4 = xmm4[0],xmm6[0],xmm4[1],xmm6[1],xmm4[2],xmm6[2],xmm4[3],xmm6[3],xmm4[4],xmm6[4],xmm4[5],xmm6[5],xmm4[6],xmm6[6],xmm4[7],xmm6[7]
395
- ; X64-NEXT: movd %esi , %xmm6
364
+ ; X64-NEXT: movd %ebp , %xmm6
396
365
; X64-NEXT: punpcklbw {{.*#+}} xmm5 = xmm5[0],xmm2[0],xmm5[1],xmm2[1],xmm5[2],xmm2[2],xmm5[3],xmm2[3],xmm5[4],xmm2[4],xmm5[5],xmm2[5],xmm5[6],xmm2[6],xmm5[7],xmm2[7]
397
- ; X64-NEXT: movzbl %cl, %ecx
398
- ; X64-NEXT: movd %ecx, %xmm2
366
+ ; X64-NEXT: movd %edx, %xmm2
399
367
; X64-NEXT: punpcklwd {{.*#+}} xmm5 = xmm5[0],xmm4[0],xmm5[1],xmm4[1],xmm5[2],xmm4[2],xmm5[3],xmm4[3]
368
+ ; X64-NEXT: movzbl %cl, %ecx
369
+ ; X64-NEXT: movd %ecx, %xmm4
400
370
; X64-NEXT: punpcklbw {{.*#+}} xmm2 = xmm2[0],xmm6[0],xmm2[1],xmm6[1],xmm2[2],xmm6[2],xmm2[3],xmm6[3],xmm2[4],xmm6[4],xmm2[5],xmm6[5],xmm2[6],xmm6[6],xmm2[7],xmm6[7]
401
371
; X64-NEXT: movzbl %al, %eax
402
- ; X64-NEXT: movd %eax, %xmm4
403
- ; X64-NEXT: movl %edx, %eax
404
- ; X64-NEXT: cbtw
405
- ; X64-NEXT: idivb -{{[0-9]+}}(%rsp)
406
- ; X64-NEXT: movzbl %al, %eax
407
372
; X64-NEXT: movd %eax, %xmm6
408
373
; X64-NEXT: punpcklbw {{.*#+}} xmm6 = xmm6[0],xmm4[0],xmm6[1],xmm4[1],xmm6[2],xmm4[2],xmm6[3],xmm4[3],xmm6[4],xmm4[4],xmm6[5],xmm4[5],xmm6[6],xmm4[6],xmm6[7],xmm4[7]
409
374
; X64-NEXT: punpcklwd {{.*#+}} xmm6 = xmm6[0],xmm2[0],xmm6[1],xmm2[1],xmm6[2],xmm2[2],xmm6[3],xmm2[3]
0 commit comments