| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py | |
| ; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s | |
| define i64 @PR222363(<8 x i64> %t305) { | |
| ; CHECK-LABEL: PR222363: | |
| ; CHECK: # %bb.0: # %bb271t | |
| ; CHECK-NEXT: movl $1, %edx | |
| ; CHECK-NEXT: movq %xmm0, %rsi | |
| ; CHECK-NEXT: movl $1, %ecx | |
| ; CHECK-NEXT: movq %rsi, %rdi | |
| ; CHECK-NEXT: shrq %cl, %rdi | |
| ; CHECK-NEXT: xorl %eax, %eax | |
| ; CHECK-NEXT: btl %edx, %esi | |
| ; CHECK-NEXT: cmovbq %rdi, %rax | |
| ; CHECK-NEXT: retq | |
| bb271t: | |
| %t190 = and i64 1, 1 | |
| br label %bb274c0 | |
| bb274c0: | |
| %t307 = insertelement <8 x i64> zeroinitializer, i64 %t190, i32 0 | |
| %t309 = lshr <8 x i64> %t305, %t307 | |
| %t310 = extractelement <8 x i64> %t309, i32 0 | |
| %t313 = and i64 %t310, 1 | |
| %t314 = icmp ne i64 %t313, 0 | |
| %t317 = select i1 %t314, i64 %t310, i64 0 | |
| ret i64 %t317 | |
| } |