[AArch64,ELF] Restrict MOVZ/MOVK to non-PIC large code model (#70178)
[llvm-project.git] / llvm / test / CodeGen / X86 / pr42992.ll
blobf85b5921b10869f086352e9cf5fa91183967a4d7
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=bmi2 | FileCheck %s
4 define i32 @hoge(i32 %a) {
5 ; CHECK-LABEL: hoge:
6 ; CHECK:       # %bb.0: # %bb
7 ; CHECK-NEXT:    movl $15, %eax
8 ; CHECK-NEXT:    bzhil %edi, %eax, %eax
9 ; CHECK-NEXT:    shll $8, %eax
10 ; CHECK-NEXT:    retq
11 bb:
12   %tmp3 = shl nsw i32 -1, %a
13   %tmp4 = xor i32 %tmp3, -1
14   %tmp5 = shl i32 %tmp4, 8
15   %tmp6 = and i32 %tmp5, 3840
16   ret i32 %tmp6