xref: /llvm-project/llvm/test/CodeGen/X86/pr64322.ll (revision 4d6f4c9c93c1eebeab9951a48730c4d8bfbd3f20)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
2; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mcpu=icelake-server | FileCheck %s
3
4@G = global <1 x i1> <i1 true>
5@G.1 = global i1 false
6
7define void @foo(i32 %x) {
8; CHECK-LABEL: foo:
9; CHECK:       # %bb.0:
10; CHECK-NEXT:    movq G@GOTPCREL(%rip), %rax
11; CHECK-NEXT:    kmovb (%rax), %k0
12; CHECK-NEXT:    kmovd %k0, %eax
13; CHECK-NEXT:    andb $1, %al
14; CHECK-NEXT:    movq G.1@GOTPCREL(%rip), %rcx
15; CHECK-NEXT:    movb %al, (%rcx)
16; CHECK-NEXT:    retq
17  %LGV = load <1 x i1>, ptr @G
18  %E = extractelement <1 x i1> %LGV, i32 %x
19  store i1 %E, ptr @G.1
20  ret void
21}
22