Skip to content

Commit 09e85ea

Browse files
committed
DX and SPV checks
1 parent 744fd50 commit 09e85ea

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed
Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,31 @@
11
// RUN: %clang_cc1 -std=hlsl2021 -finclude-default-header -triple \
22
// RUN: dxil-pc-shadermodel6.3-compute %s -emit-llvm -disable-llvm-passes -o - | \
3-
// RUN: FileCheck %s --check-prefixes=CHECK,CHECK-DXIL
3+
// RUN: FileCheck %s --check-prefixes=CHECK,DXCHECK
4+
45
// RUN: %clang_cc1 -std=hlsl2021 -finclude-default-header -triple \
56
// RUN: spirv-pc-vulkan-compute %s -emit-llvm -disable-llvm-passes -o - | \
6-
// RUN: FileCheck %s --check-prefixes=CHECK,CHECK-SPIRV
7+
// RUN: FileCheck %s --check-prefixes=CHECK,SPVCHECK
8+
9+
// DXCHECK: define hidden [[FN_TYPE:]]noundef i1 @
10+
// SPVCHECK: define hidden [[FN_TYPE:spir_func ]]noundef i1 @
711

812
// Test basic lowering to runtime function call.
913

1014
// CHECK-LABEL: test_uint
1115
uint test_uint(uint expr) {
12-
// CHECK-SPIRV: %[[RET:.*]] = call spir_func [[TY:.*]] @llvm.spv.wave.reduce.or.i32([[TY]] %[[#]])
13-
// CHECK-DXIL: %[[RET:.*]] = call [[TY:.*]] @llvm.dx.wave.reduce.or.i32([[TY]] %[[#]])
16+
// DXCHECK: %[[RET:.*]] = call i1 [[TY:.*]] @llvm.[[ICF:dx]].wave.reduce.or.i32([[TY]] %[[#]])
17+
// SPVCHECK: %[[RET:.*]] = call i1 [[TY:.*]] @llvm.[[ICF:spv]].wave.reduce.or.i32([[TY]] %[[#]])
1418
// CHECK: ret [[TY]] %[[RET]]
1519
return WaveActiveBitOr(expr);
1620
}
1721

18-
// CHECK-DXIL: declare [[TY]] @llvm.dx.wave.reduce.or.i32([[TY]]) #[[#attr:]]
19-
// CHECK-SPIRV: declare [[TY]] @llvm.spv.wave.reduce.or.i32([[TY]]) #[[#attr:]]
22+
// CHECK: declare [[TY]] @llvm.[[ICF]].wave.reduce.or.i32([[TY]]) #[[#attr:]]
2023

2124
// CHECK-LABEL: test_uint64_t
2225
uint64_t test_uint64_t(uint64_t expr) {
23-
// CHECK-SPIRV: %[[RET:.*]] = call spir_func [[TY:.*]] @llvm.spv.wave.reduce.or.i64([[TY]] %[[#]])
24-
// CHECK-DXIL: %[[RET:.*]] = call [[TY:.*]] @llvm.dx.wave.reduce.or.i64([[TY]] %[[#]])
26+
// CHECK: %[[RET:.*]] = call i1 [[TY:.*]] @llvm.[[ICF]].wave.reduce.or.i64([[TY]] %[[#]])
2527
// CHECK: ret [[TY]] %[[RET]]
2628
return WaveActiveBitOr(expr);
2729
}
2830

29-
// CHECK-DXIL: declare [[TY]] @llvm.dx.wave.reduce.or.i64([[TY]]) #[[#attr:]]
30-
// CHECK-SPIRV: declare [[TY]] @llvm.spv.wave.reduce.or.i64([[TY]]) #[[#attr:]]
31+
// CHECK: declare [[TY]] @llvm.[[ICF]].wave.reduce.or.i64([[TY]]) #[[#attr:]]

0 commit comments

Comments
 (0)