; RUN: llc -O0 -mtriple=spirv64-unknown-unknown --mattr=+spirv1.3 %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV ;; kernel void test(int global *in, int global *in2) { ;; if (!in) ;; return; ;; if (in == 1) ;; return; ;; if (in > in2) ;; return; ;; if (in < in2) ;; return; ;; } ; CHECK-SPIRV: OpConvertPtrToU ; CHECK-SPIRV: OpConvertPtrToU ; CHECK-SPIRV: OpINotEqual ; CHECK-SPIRV: OpConvertPtrToU ; CHECK-SPIRV: OpConvertPtrToU ; CHECK-SPIRV: OpIEqual ; CHECK-SPIRV: OpConvertPtrToU ; CHECK-SPIRV: OpConvertPtrToU ; CHECK-SPIRV: OpUGreaterThan ; CHECK-SPIRV: OpConvertPtrToU ; CHECK-SPIRV: OpConvertPtrToU ; CHECK-SPIRV: OpULessThan define dso_local spir_kernel void @test(i32 addrspace(1)* noundef %in, i32 addrspace(1)* noundef %in2) { entry: %in.addr = alloca i32 addrspace(1)*, align 8 %in2.addr = alloca i32 addrspace(1)*, align 8 store i32 addrspace(1)* %in, i32 addrspace(1)** %in.addr, align 8 store i32 addrspace(1)* %in2, i32 addrspace(1)** %in2.addr, align 8 %0 = load i32 addrspace(1)*, i32 addrspace(1)** %in.addr, align 8 %tobool = icmp ne i32 addrspace(1)* %0, null br i1 %tobool, label %if.end, label %if.then if.then: ; preds = %entry br label %if.end8 if.end: ; preds = %entry %1 = load i32 addrspace(1)*, i32 addrspace(1)** %in.addr, align 8 %cmp = icmp eq i32 addrspace(1)* %1, inttoptr (i64 1 to i32 addrspace(1)*) br i1 %cmp, label %if.then1, label %if.end2 if.then1: ; preds = %if.end br label %if.end8 if.end2: ; preds = %if.end %2 = load i32 addrspace(1)*, i32 addrspace(1)** %in.addr, align 8 %3 = load i32 addrspace(1)*, i32 addrspace(1)** %in2.addr, align 8 %cmp3 = icmp ugt i32 addrspace(1)* %2, %3 br i1 %cmp3, label %if.then4, label %if.end5 if.then4: ; preds = %if.end2 br label %if.end8 if.end5: ; preds = %if.end2 %4 = load i32 addrspace(1)*, i32 addrspace(1)** %in.addr, align 8 %5 = load i32 addrspace(1)*, i32 addrspace(1)** %in2.addr, align 8 %cmp6 = icmp ult i32 addrspace(1)* %4, %5 br i1 %cmp6, label %if.then7, label %if.end8 if.then7: ; preds = %if.end5 br label %if.end8 if.end8: ; preds = %if.then, %if.then1, %if.then4, %if.then7, %if.end5 ret void }