; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py | |
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=bmi2 | FileCheck %s | |
define i32 @hoge(i32 %a) { | |
; CHECK-LABEL: hoge: | |
; CHECK: # %bb.0: # %bb | |
; CHECK-NEXT: movl $15, %eax | |
; CHECK-NEXT: bzhil %edi, %eax, %eax | |
; CHECK-NEXT: shll $8, %eax | |
; CHECK-NEXT: retq | |
bb: | |
%tmp3 = shl nsw i32 -1, %a | |
%tmp4 = xor i32 %tmp3, -1 | |
%tmp5 = shl i32 %tmp4, 8 | |
%tmp6 = and i32 %tmp5, 3840 | |
ret i32 %tmp6 | |
} |