; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s ; After legalization, this could be: "i8 truncate (i64 AssertZext X, Type: i9)" ; The AssertZext does not add information, so it should be eliminated, ; but that must not trigger a compile-time assert. define void @test(ptr %p) { ; CHECK-LABEL: test: ; CHECK: # %bb.0: ; CHECK-NEXT: movl $256, %eax # imm = 0x100 ; CHECK-NEXT: movq %rax, (%rdi) ; CHECK-NEXT: retq %sel = select i1 true, i64 256, i64 0 br label %bb2 bb2: store i64 %sel, ptr %p, align 4 %load = load <2 x i1>, ptr %p, align 1 br label %bb3 bb3: %use = add <2 x i1> %load, zeroinitializer ret void }