diff options
| -rw-r--r-- | llvm/test/CodeGen/X86/pr38539.ll | 74 | 
1 files changed, 37 insertions, 37 deletions
diff --git a/llvm/test/CodeGen/X86/pr38539.ll b/llvm/test/CodeGen/X86/pr38539.ll index a9475f9bc62..a8670c21e4c 100644 --- a/llvm/test/CodeGen/X86/pr38539.ll +++ b/llvm/test/CodeGen/X86/pr38539.ll @@ -17,46 +17,46 @@ define void @f() {  ; X64-NEXT:    .cfi_offset %rbx, -32  ; X64-NEXT:    .cfi_offset %r14, -24  ; X64-NEXT:    .cfi_offset %rbp, -16 -; X64-NEXT:    movzbl {{[0-9]+}}(%rsp), %ebx -; X64-NEXT:    movq %rbx, %rcx +; X64-NEXT:    movzbl {{[0-9]+}}(%rsp), %ebp +; X64-NEXT:    movq %rbp, %rcx  ; X64-NEXT:    shlq $62, %rcx  ; X64-NEXT:    sarq $62, %rcx -; X64-NEXT:    movq (%rsp), %r14 -; X64-NEXT:    movb (%rax), %bpl +; X64-NEXT:    movq (%rsp), %rbx +; X64-NEXT:    movb (%rax), %al +; X64-NEXT:    movzbl %al, %eax +; X64-NEXT:    # kill: def $eax killed $eax def $ax +; X64-NEXT:    divb (%rax) +; X64-NEXT:    movl %eax, %r14d  ; X64-NEXT:    xorl %edi, %edi  ; X64-NEXT:    xorl %esi, %esi -; X64-NEXT:    movq %r14, %rdx +; X64-NEXT:    movq %rbx, %rdx  ; X64-NEXT:    callq __modti3  ; X64-NEXT:    andl $3, %edx -; X64-NEXT:    cmpq %rax, %r14 -; X64-NEXT:    sbbq %rdx, %rbx -; X64-NEXT:    setb %sil -; X64-NEXT:    setae %bl  ; X64-NEXT:    testb %al, %al -; X64-NEXT:    setne %dl  ; X64-NEXT:    setne (%rax) -; X64-NEXT:    movzbl %bpl, %eax -; X64-NEXT:    xorl %ecx, %ecx -; X64-NEXT:    subb %sil, %cl -; X64-NEXT:    # kill: def $eax killed $eax def $ax -; X64-NEXT:    divb %al -; X64-NEXT:    negb %bl -; X64-NEXT:    cmpb %al, %al +; X64-NEXT:    cmpq %rax, %rbx +; X64-NEXT:    sbbq %rdx, %rbp +; X64-NEXT:    setae %dl +; X64-NEXT:    sbbb %cl, %cl +; X64-NEXT:    testb %al, %al +; X64-NEXT:    setne %bl +; X64-NEXT:    negb %dl +; X64-NEXT:    cmpb %r14b, %al  ; X64-NEXT:    setle %al  ; X64-NEXT:    negb %al  ; X64-NEXT:    cbtw -; X64-NEXT:    idivb %bl +; X64-NEXT:    idivb %dl  ; X64-NEXT:    movsbl %ah, %eax  ; X64-NEXT:    movzbl %al, %eax  ; X64-NEXT:    andl $1, %eax  ; X64-NEXT:    shlq $4, %rax  ; X64-NEXT:    negq %rax -; X64-NEXT:    negb %dl +; X64-NEXT:    negb %bl  ; X64-NEXT:    leaq -16(%rsp,%rax), %rax  ; X64-NEXT:    movq %rax, (%rax)  ; X64-NEXT:    movl %ecx, %eax  ; X64-NEXT:    cbtw -; X64-NEXT:    idivb %dl +; X64-NEXT:    idivb %bl  ; X64-NEXT:    movsbl %ah, %eax  ; X64-NEXT:    andb $1, %al  ; X64-NEXT:    movb %al, (%rax) @@ -86,25 +86,28 @@ define void @f() {  ; X86-NEXT:    .cfi_offset %edi, -16  ; X86-NEXT:    .cfi_offset %ebx, -12  ; X86-NEXT:    movzbl {{[0-9]+}}(%esp), %esi -; X86-NEXT:    movl %esi, %eax -; X86-NEXT:    shll $30, %eax -; X86-NEXT:    movl %eax, %ecx -; X86-NEXT:    sarl $30, %ecx -; X86-NEXT:    sarl $31, %eax +; X86-NEXT:    movl %esi, %ecx +; X86-NEXT:    shll $30, %ecx +; X86-NEXT:    movl %ecx, %edx +; X86-NEXT:    sarl $30, %edx +; X86-NEXT:    sarl $31, %ecx  ; X86-NEXT:    movl {{[0-9]+}}(%esp), %edi  ; X86-NEXT:    movl {{[0-9]+}}(%esp), %ebx -; X86-NEXT:    movb (%eax), %dl -; X86-NEXT:    movb %dl, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill -; X86-NEXT:    leal {{[0-9]+}}(%esp), %edx -; X86-NEXT:    pushl %eax +; X86-NEXT:    movb (%eax), %al +; X86-NEXT:    movzbl %al, %eax +; X86-NEXT:    # kill: def $eax killed $eax def $ax +; X86-NEXT:    divb (%eax) +; X86-NEXT:    movb %al, {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Spill +; X86-NEXT:    leal {{[0-9]+}}(%esp), %eax  ; X86-NEXT:    pushl %ecx +; X86-NEXT:    pushl %edx  ; X86-NEXT:    pushl %ebx  ; X86-NEXT:    pushl %edi  ; X86-NEXT:    pushl $0  ; X86-NEXT:    pushl $0  ; X86-NEXT:    pushl $0  ; X86-NEXT:    pushl $0 -; X86-NEXT:    pushl %edx +; X86-NEXT:    pushl %eax  ; X86-NEXT:    calll __modti3  ; X86-NEXT:    addl $32, %esp  ; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax @@ -119,13 +122,9 @@ define void @f() {  ; X86-NEXT:    testb %al, %al  ; X86-NEXT:    setne %ch  ; X86-NEXT:    setne (%eax) -; X86-NEXT:    movb {{[-0-9]+}}(%e{{[sb]}}p), %dh # 1-byte Reload -; X86-NEXT:    movzbl %dh, %eax -; X86-NEXT:    # kill: def $eax killed $eax def $ax -; X86-NEXT:    divb %dh  ; X86-NEXT:    negb %ch  ; X86-NEXT:    negb %dl -; X86-NEXT:    cmpb %al, %al +; X86-NEXT:    cmpb {{[-0-9]+}}(%e{{[sb]}}p), %al # 1-byte Folded Reload  ; X86-NEXT:    setle %al  ; X86-NEXT:    negb %al  ; X86-NEXT:    cbtw @@ -155,8 +154,9 @@ BB:    %L17 = load i66, i66* %A30    %B20 = and i66 %L17, -1    %G2 = getelementptr i66, i66* %A30, i1 true -  %L10 = load i8, i8* undef -  %B6 = udiv i8 %L10, %L10 +  %L10 = load volatile i8, i8* undef +  %L11 = load volatile i8, i8* undef +  %B6 = udiv i8 %L10, %L11    %C15 = icmp eq i8 undef, 0    %B8 = srem i66 0, %B20    %C2 = icmp ule i66 %B8, %B20  | 

