21 lines · plain
1; RUN: llc -mtriple=spirv32-unknown-unknown --spirv-ext=+SPV_KHR_expect_assume < %s | FileCheck --check-prefixes=EXT,CHECK %s2; RUN: llc -mtriple=spirv64-unknown-unknown --spirv-ext=+SPV_KHR_expect_assume < %s | FileCheck --check-prefixes=EXT,CHECK %s3; RUN: llc -mtriple=spirv32-unknown-unknown < %s | FileCheck --check-prefixes=NOEXT,CHECK %s4; RUN: llc -mtriple=spirv64-unknown-unknown < %s | FileCheck --check-prefixes=NOEXT,CHECK %s5 6; EXT: OpCapability ExpectAssumeKHR7; EXT-NEXT: OpExtension "SPV_KHR_expect_assume"8; NOEXT-NOT: OpCapability ExpectAssumeKHR9; NOEXT-NOT: OpExtension "SPV_KHR_expect_assume"10 11declare void @llvm.assume(i1)12 13; CHECK-DAG: %8 = OpIEqual %3 %5 %614; EXT: OpAssumeTrueKHR %815; NOEXT-NOT: OpAssumeTrueKHR %816define i1 @assumeeq(i32 %x, i32 %y) {17 %cmp = icmp eq i32 %x, %y18 call void @llvm.assume(i1 %cmp)19 ret i1 %cmp20}21