xref: /llvm-project/llvm/test/CodeGen/X86/pr55846.ll (revision 2f448bf509432c1a19ec46ab8cbc7353c03c6280)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s
3
4; After legalization, this could be: "i8 truncate (i64 AssertZext X, Type: i9)"
5; The AssertZext does not add information, so it should be eliminated,
6; but that must not trigger a compile-time assert.
7
8define void @test(ptr %p) {
9; CHECK-LABEL: test:
10; CHECK:       # %bb.0:
11; CHECK-NEXT:    movl $256, %eax # imm = 0x100
12; CHECK-NEXT:    movq %rax, (%rdi)
13; CHECK-NEXT:    retq
14  %sel = select i1 true, i64 256, i64 0
15  br label %bb2
16
17bb2:
18  store i64 %sel, ptr %p, align 4
19  %load = load <2 x i1>, ptr %p, align 1
20  br label %bb3
21
22bb3:
23  %use = add <2 x i1> %load, zeroinitializer
24  ret void
25}
26