diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/pr32284.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/pr32284.ll | 110 |
1 files changed, 53 insertions, 57 deletions
diff --git a/llvm/test/CodeGen/X86/pr32284.ll b/llvm/test/CodeGen/X86/pr32284.ll index 44367cbdaa8..69dc24b6b61 100644 --- a/llvm/test/CodeGen/X86/pr32284.ll +++ b/llvm/test/CodeGen/X86/pr32284.ll @@ -121,10 +121,10 @@ entry: define void @f1() { ; X86-O0-LABEL: f1: ; X86-O0: # %bb.0: # %entry -; X86-O0-NEXT: movabsq $8381627093, %rax # imm = 0x1F3957AD5 -; X86-O0-NEXT: movslq var_5, %rcx -; X86-O0-NEXT: addq %rax, %rcx -; X86-O0-NEXT: cmpq $0, %rcx +; X86-O0-NEXT: movslq var_5, %rax +; X86-O0-NEXT: movabsq $8381627093, %rcx # imm = 0x1F3957AD5 +; X86-O0-NEXT: addq %rcx, %rax +; X86-O0-NEXT: cmpq $0, %rax ; X86-O0-NEXT: setne %dl ; X86-O0-NEXT: andb $1, %dl ; X86-O0-NEXT: movb %dl, -{{[0-9]+}}(%rsp) @@ -308,30 +308,30 @@ entry: define void @f2() { ; X86-O0-LABEL: f2: ; X86-O0: # %bb.0: # %entry -; X86-O0-NEXT: # implicit-def: $rax -; X86-O0-NEXT: movzbl var_7, %ecx +; X86-O0-NEXT: movzbl var_7, %eax ; X86-O0-NEXT: cmpb $0, var_7 -; X86-O0-NEXT: setne %dl -; X86-O0-NEXT: xorb $-1, %dl -; X86-O0-NEXT: andb $1, %dl -; X86-O0-NEXT: movzbl %dl, %esi -; X86-O0-NEXT: xorl %esi, %ecx -; X86-O0-NEXT: movw %cx, %di -; X86-O0-NEXT: movw %di, -{{[0-9]+}}(%rsp) -; X86-O0-NEXT: movzbl var_7, %ecx -; X86-O0-NEXT: movw %cx, %di -; X86-O0-NEXT: cmpw $0, %di -; X86-O0-NEXT: setne %dl -; X86-O0-NEXT: xorb $-1, %dl -; X86-O0-NEXT: andb $1, %dl -; X86-O0-NEXT: movzbl %dl, %ecx -; X86-O0-NEXT: movzbl var_7, %esi -; X86-O0-NEXT: cmpl %esi, %ecx -; X86-O0-NEXT: sete %dl -; X86-O0-NEXT: andb $1, %dl -; X86-O0-NEXT: movzbl %dl, %ecx -; X86-O0-NEXT: movw %cx, %di -; X86-O0-NEXT: movw %di, (%rax) +; X86-O0-NEXT: setne %cl +; X86-O0-NEXT: xorb $-1, %cl +; X86-O0-NEXT: andb $1, %cl +; X86-O0-NEXT: movzbl %cl, %edx +; X86-O0-NEXT: xorl %edx, %eax +; X86-O0-NEXT: movw %ax, %si +; X86-O0-NEXT: movw %si, -{{[0-9]+}}(%rsp) +; X86-O0-NEXT: movzbl var_7, %eax +; X86-O0-NEXT: movw %ax, %si +; X86-O0-NEXT: cmpw $0, %si +; X86-O0-NEXT: setne %cl +; X86-O0-NEXT: xorb $-1, %cl +; X86-O0-NEXT: andb $1, %cl +; X86-O0-NEXT: movzbl %cl, %eax +; X86-O0-NEXT: movzbl var_7, %edx +; X86-O0-NEXT: cmpl %edx, %eax +; X86-O0-NEXT: sete %cl +; X86-O0-NEXT: andb $1, %cl +; X86-O0-NEXT: movzbl %cl, %eax +; X86-O0-NEXT: movw %ax, %si +; X86-O0-NEXT: # implicit-def: $rdi +; X86-O0-NEXT: movw %si, (%rdi) ; X86-O0-NEXT: retq ; ; X64-LABEL: f2: @@ -353,41 +353,37 @@ define void @f2() { ; ; 686-O0-LABEL: f2: ; 686-O0: # %bb.0: # %entry -; 686-O0-NEXT: pushl %edi -; 686-O0-NEXT: .cfi_def_cfa_offset 8 ; 686-O0-NEXT: pushl %esi -; 686-O0-NEXT: .cfi_def_cfa_offset 12 +; 686-O0-NEXT: .cfi_def_cfa_offset 8 ; 686-O0-NEXT: subl $2, %esp -; 686-O0-NEXT: .cfi_def_cfa_offset 14 -; 686-O0-NEXT: .cfi_offset %esi, -12 -; 686-O0-NEXT: .cfi_offset %edi, -8 -; 686-O0-NEXT: # implicit-def: $eax -; 686-O0-NEXT: movzbl var_7, %ecx +; 686-O0-NEXT: .cfi_def_cfa_offset 10 +; 686-O0-NEXT: .cfi_offset %esi, -8 +; 686-O0-NEXT: movzbl var_7, %eax ; 686-O0-NEXT: cmpb $0, var_7 -; 686-O0-NEXT: setne %dl -; 686-O0-NEXT: xorb $-1, %dl -; 686-O0-NEXT: andb $1, %dl -; 686-O0-NEXT: movzbl %dl, %esi -; 686-O0-NEXT: xorl %esi, %ecx -; 686-O0-NEXT: movw %cx, %di -; 686-O0-NEXT: movw %di, (%esp) -; 686-O0-NEXT: movzbl var_7, %ecx -; 686-O0-NEXT: movw %cx, %di -; 686-O0-NEXT: cmpw $0, %di -; 686-O0-NEXT: setne %dl -; 686-O0-NEXT: xorb $-1, %dl -; 686-O0-NEXT: andb $1, %dl -; 686-O0-NEXT: movzbl %dl, %ecx -; 686-O0-NEXT: movzbl var_7, %esi -; 686-O0-NEXT: cmpl %esi, %ecx -; 686-O0-NEXT: sete %dl -; 686-O0-NEXT: andb $1, %dl -; 686-O0-NEXT: movzbl %dl, %ecx -; 686-O0-NEXT: movw %cx, %di -; 686-O0-NEXT: movw %di, (%eax) +; 686-O0-NEXT: setne %cl +; 686-O0-NEXT: xorb $-1, %cl +; 686-O0-NEXT: andb $1, %cl +; 686-O0-NEXT: movzbl %cl, %edx +; 686-O0-NEXT: xorl %edx, %eax +; 686-O0-NEXT: movw %ax, %si +; 686-O0-NEXT: movw %si, (%esp) +; 686-O0-NEXT: movzbl var_7, %eax +; 686-O0-NEXT: movw %ax, %si +; 686-O0-NEXT: cmpw $0, %si +; 686-O0-NEXT: setne %cl +; 686-O0-NEXT: xorb $-1, %cl +; 686-O0-NEXT: andb $1, %cl +; 686-O0-NEXT: movzbl %cl, %eax +; 686-O0-NEXT: movzbl var_7, %edx +; 686-O0-NEXT: cmpl %edx, %eax +; 686-O0-NEXT: sete %cl +; 686-O0-NEXT: andb $1, %cl +; 686-O0-NEXT: movzbl %cl, %eax +; 686-O0-NEXT: movw %ax, %si +; 686-O0-NEXT: # implicit-def: $eax +; 686-O0-NEXT: movw %si, (%eax) ; 686-O0-NEXT: addl $2, %esp ; 686-O0-NEXT: popl %esi -; 686-O0-NEXT: popl %edi ; 686-O0-NEXT: retl ; ; 686-LABEL: f2: |