@@ -326,18 +326,15 @@ define i32 @shift_zext_shl(i8 zeroext %x) {
326
326
; X86-LABEL: shift_zext_shl:
327
327
; X86: # %bb.0:
328
328
; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax
329
- ; X86-NEXT: andb $64, %al
330
- ; X86-NEXT: movzbl %al, %eax
329
+ ; X86-NEXT: andl $64, %eax
331
330
; X86-NEXT: shll $9, %eax
332
- ; X86-NEXT: movzwl %ax, %eax
333
331
; X86-NEXT: retl
334
332
;
335
333
; X64-LABEL: shift_zext_shl:
336
334
; X64: # %bb.0:
337
- ; X64-NEXT: andb $64 , %dil
338
- ; X64-NEXT: movzbl %dil , %eax
335
+ ; X64-NEXT: movl %edi , %eax
336
+ ; X64-NEXT: andl $64 , %eax
339
337
; X64-NEXT: shll $9, %eax
340
- ; X64-NEXT: movzwl %ax, %eax
341
338
; X64-NEXT: retq
342
339
%a = and i8 %x , 64
343
340
%b = zext i8 %a to i16
@@ -369,39 +366,32 @@ define i32 @shift_zext_shl2(i8 zeroext %x) {
369
366
define <4 x i32 > @shift_zext_shl_vec (<4 x i8 > %x ) {
370
367
; X86-LABEL: shift_zext_shl_vec:
371
368
; X86: # %bb.0:
372
- ; X86-NEXT: pushl %ebx
373
- ; X86-NEXT: .cfi_def_cfa_offset 8
374
369
; X86-NEXT: pushl %edi
375
- ; X86-NEXT: .cfi_def_cfa_offset 12
370
+ ; X86-NEXT: .cfi_def_cfa_offset 8
376
371
; X86-NEXT: pushl %esi
377
- ; X86-NEXT: .cfi_def_cfa_offset 16
378
- ; X86-NEXT: .cfi_offset %esi, -16
379
- ; X86-NEXT: .cfi_offset %edi, -12
380
- ; X86-NEXT: .cfi_offset %ebx, -8
372
+ ; X86-NEXT: .cfi_def_cfa_offset 12
373
+ ; X86-NEXT: .cfi_offset %esi, -12
374
+ ; X86-NEXT: .cfi_offset %edi, -8
381
375
; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
376
+ ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %edi
382
377
; X86-NEXT: movzbl {{[0-9]+}}(%esp), %esi
383
378
; X86-NEXT: movzbl {{[0-9]+}}(%esp), %edx
384
379
; X86-NEXT: movzbl {{[0-9]+}}(%esp), %ecx
385
- ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %ebx
386
- ; X86-NEXT: andb $64, %bl
387
- ; X86-NEXT: movzbl %bl, %edi
388
- ; X86-NEXT: shll $9, %edi
389
- ; X86-NEXT: movzwl %di, %edi
390
- ; X86-NEXT: andl $63, %ecx
391
- ; X86-NEXT: shll $8, %ecx
392
- ; X86-NEXT: andl $31, %edx
393
- ; X86-NEXT: shll $7, %edx
394
- ; X86-NEXT: andl $23, %esi
395
- ; X86-NEXT: shll $6, %esi
396
- ; X86-NEXT: movl %esi, 12(%eax)
397
- ; X86-NEXT: movl %edx, 8(%eax)
398
- ; X86-NEXT: movl %ecx, 4(%eax)
399
- ; X86-NEXT: movl %edi, (%eax)
380
+ ; X86-NEXT: andl $64, %ecx
381
+ ; X86-NEXT: shll $9, %ecx
382
+ ; X86-NEXT: andl $63, %edx
383
+ ; X86-NEXT: shll $8, %edx
384
+ ; X86-NEXT: andl $31, %esi
385
+ ; X86-NEXT: shll $7, %esi
386
+ ; X86-NEXT: andl $23, %edi
387
+ ; X86-NEXT: shll $6, %edi
388
+ ; X86-NEXT: movl %edi, 12(%eax)
389
+ ; X86-NEXT: movl %esi, 8(%eax)
390
+ ; X86-NEXT: movl %edx, 4(%eax)
391
+ ; X86-NEXT: movl %ecx, (%eax)
400
392
; X86-NEXT: popl %esi
401
- ; X86-NEXT: .cfi_def_cfa_offset 12
402
- ; X86-NEXT: popl %edi
403
393
; X86-NEXT: .cfi_def_cfa_offset 8
404
- ; X86-NEXT: popl %ebx
394
+ ; X86-NEXT: popl %edi
405
395
; X86-NEXT: .cfi_def_cfa_offset 4
406
396
; X86-NEXT: retl $4
407
397
;
0 commit comments