xref: /llvm-project/llvm/test/CodeGen/SPIRV/transcoding/OpConstantBool.ll (revision 8468e67495eda83e2490224be46967ddc29821d2)
1; RUN: llc -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV
2
3; CHECK-SPIRV: OpConstantTrue
4; CHECK-SPIRV: OpConstantFalse
5
6define spir_func zeroext i1 @f() {
7entry:
8  ret i1 true
9}
10
11define spir_func zeroext i1 @f2() {
12entry:
13  ret i1 false
14}
15
16define spir_kernel void @test(i32 addrspace(1)* %i) {
17entry:
18  %i.addr = alloca i32 addrspace(1)*, align 4
19  store i32 addrspace(1)* %i, i32 addrspace(1)** %i.addr, align 4
20  %call = call spir_func zeroext i1 @f()
21  %conv = zext i1 %call to i32
22  %0 = load i32 addrspace(1)*, i32 addrspace(1)** %i.addr, align 4
23  store i32 %conv, i32 addrspace(1)* %0, align 4
24  ret void
25}
26