| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py | |
| ; RUN: llc < %s -mtriple=i686-unknown-unknown | FileCheck %s --check-prefix=X86 | |
| ; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=X64 | |
| define void @PR36250() { | |
| ; X86-LABEL: PR36250: | |
| ; X86: # %bb.0: | |
| ; X86-NEXT: movl (%eax), %eax | |
| ; X86-NEXT: movl %eax, %ecx | |
| ; X86-NEXT: roll %ecx | |
| ; X86-NEXT: addl %eax, %eax | |
| ; X86-NEXT: movl %ecx, %edx | |
| ; X86-NEXT: orl %ecx, %edx | |
| ; X86-NEXT: orl %ecx, %edx | |
| ; X86-NEXT: orl %eax, %edx | |
| ; X86-NEXT: orl %ecx, %edx | |
| ; X86-NEXT: sete (%eax) | |
| ; X86-NEXT: retl | |
| ; | |
| ; X64-LABEL: PR36250: | |
| ; X64: # %bb.0: | |
| ; X64-NEXT: movq (%rax), %rax | |
| ; X64-NEXT: movq %rax, %rcx | |
| ; X64-NEXT: rolq %rcx | |
| ; X64-NEXT: addq %rax, %rax | |
| ; X64-NEXT: movq %rcx, %rdx | |
| ; X64-NEXT: orq %rcx, %rdx | |
| ; X64-NEXT: orq %rax, %rdx | |
| ; X64-NEXT: orq %rcx, %rdx | |
| ; X64-NEXT: sete (%rax) | |
| ; X64-NEXT: retq | |
| %1 = load i448, i448* undef | |
| %2 = sub i448 0, %1 | |
| %3 = icmp eq i448 %1, %2 | |
| store i1 %3, i1* undef | |
| ret void | |
| } |