Skip to content

Commit c170300

Browse files
author
Alexander Johnston
committed
Update ddx/y_coarse tests
1 parent a1938a7 commit c170300

File tree

8 files changed

+118
-50
lines changed

8 files changed

+118
-50
lines changed
Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,26 @@
11
// RUN: %clang_cc1 -finclude-default-header -x hlsl -triple dxil-pc-shadermodel6.3-library %s \
22
// RUN: -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
33
// RUN: FileCheck %s --check-prefixes=CHECK
4+
// RUN: %clang_cc1 -finclude-default-header -x hlsl -triple spirv-pc-vulkan-compute %s \
5+
// RUN: -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
6+
// RUN: FileCheck %s --check-prefixes=CHECK-SPIRV
47

5-
// CHECK: define hidden noundef nofpclass(nan inf) half @
6-
// CHECK: %hlsl.ddx.coarse = call reassoc nnan ninf nsz arcp afn half @llvm.dx.ddx.coarse.f16(half %{{.*}})
8+
// CHECK-LABEL: half @_Z19test_f16_ddx_coarseDh
9+
// CHECK: %hlsl.ddx.coarse = call {{.*}} half @llvm.dx.ddx.coarse.f16(half %{{.*}})
710
// CHECK: ret half %hlsl.ddx.coarse
11+
// CHECK-LABEL-SPIRV: half @_Z19test_f16_ddx_coarseDh
12+
// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} half @llvm.spv.ddx.coarse.f16(half %{{.*}})
13+
// CHECK-SPIRV: ret half %hlsl.ddx.coarse
814
half test_f16_ddx_coarse(half val) {
915
return __builtin_hlsl_elementwise_ddx_coarse(val);
1016
}
1117

12-
// CHECK: define hidden noundef nofpclass(nan inf) float @
13-
// CHECK: %hlsl.ddx.coarse = call reassoc nnan ninf nsz arcp afn float @llvm.dx.ddx.coarse.f32(float %{{.*}})
18+
// CHECK-LABEL: float @_Z19test_f32_ddx_coarsef
19+
// CHECK: %hlsl.ddx.coarse = call {{.*}} float @llvm.dx.ddx.coarse.f32(float %{{.*}})
1420
// CHECK: ret float %hlsl.ddx.coarse
21+
// CHECK-LABEL-SPIRV: float @_Z19test_f32_ddx_coarsef
22+
// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} float @llvm.spv.ddx.coarse.f32(float %{{.*}})
23+
// CHECK-SPIRV: ret float %hlsl.ddx.coarse
1524
float test_f32_ddx_coarse(float val) {
1625
return __builtin_hlsl_elementwise_ddx_coarse(val);
17-
}
26+
}
Lines changed: 43 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,86 @@
11
// RUN: %clang_cc1 -finclude-default-header -x hlsl -triple dxil-pc-shadermodel6.3-library %s \
22
// RUN: -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
33
// RUN: FileCheck %s --check-prefixes=CHECK
4+
// RUN: %clang_cc1 -finclude-default-header -x hlsl -triple spirv-pc-vulkan-compute %s \
5+
// RUN: -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
6+
// RUN: FileCheck %s --check-prefixes=CHECK-SPIRV
47

5-
using hlsl::ddx_coarse;
6-
7-
// CHECK: define linkonce_odr hidden noundef nofpclass(nan inf) half @
8-
// CHECK: %hlsl.ddx.coarse = call reassoc nnan ninf nsz arcp afn half @llvm.dx.ddx.coarse.f16(half %{{.*}})
8+
// CHECK-LABEL: half @_Z19test_f16_ddx_coarseDh
9+
// CHECK: %hlsl.ddx.coarse = call {{.*}} half @llvm.dx.ddx.coarse.f16(half %{{.*}})
910
// CHECK: ret half %hlsl.ddx.coarse
11+
// CHECK-LABEL-SPIRV: half @_Z19test_f16_ddx_coarseDh
12+
// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} half @llvm.spv.ddx.coarse.f16(half %{{.*}})
13+
// CHECK-SPIRV: ret half %hlsl.ddx.coarse
1014
half test_f16_ddx_coarse(half val) {
1115
return ddx_coarse(val);
1216
}
1317

14-
// CHECK: define linkonce_odr hidden noundef nofpclass(nan inf) <2 x half> @
15-
// CHECK: %hlsl.ddx.coarse = call reassoc nnan ninf nsz arcp afn <2 x half> @llvm.dx.ddx.coarse.v2f16(<2 x half> %{{.*}})
18+
// CHECK-LABEL: <2 x half> @_Z20test_f16_ddx_coarse2Dv2_Dh
19+
// CHECK: %hlsl.ddx.coarse = call {{.*}} <2 x half> @llvm.dx.ddx.coarse.v2f16(<2 x half> %{{.*}})
1620
// CHECK: ret <2 x half> %hlsl.ddx.coarse
21+
// CHECK-LABEL-SPIRV: <2 x half> @_Z20test_f16_ddx_coarse2Dv2_Dh
22+
// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} <2 x half> @llvm.spv.ddx.coarse.v2f16(<2 x half> %{{.*}})
23+
// CHECK-SPIRV: ret <2 x half> %hlsl.ddx.coarse
1724
half2 test_f16_ddx_coarse2(half2 val) {
1825
return ddx_coarse(val);
1926
}
2027

21-
// CHECK: define linkonce_odr hidden noundef nofpclass(nan inf) <3 x half> @
22-
// CHECK: %hlsl.ddx.coarse = call reassoc nnan ninf nsz arcp afn <3 x half> @llvm.dx.ddx.coarse.v3f16(<3 x half> %{{.*}})
28+
// CHECK-LABEL: <3 x half> @_Z20test_f16_ddx_coarse3Dv3_Dh
29+
// CHECK: %hlsl.ddx.coarse = call {{.*}} <3 x half> @llvm.dx.ddx.coarse.v3f16(<3 x half> %{{.*}})
2330
// CHECK: ret <3 x half> %hlsl.ddx.coarse
31+
// CHECK-LABEL-SPIRV: <3 x half> @_Z20test_f16_ddx_coarse3Dv3_Dh
32+
// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} <3 x half> @llvm.spv.ddx.coarse.v3f16(<3 x half> %{{.*}})
33+
// CHECK-SPIRV: ret <3 x half> %hlsl.ddx.coarse
2434
half3 test_f16_ddx_coarse3(half3 val) {
2535
return ddx_coarse(val);
2636
}
2737

28-
// CHECK: define linkonce_odr hidden noundef nofpclass(nan inf) <4 x half> @
29-
// CHECK: %hlsl.ddx.coarse = call reassoc nnan ninf nsz arcp afn <4 x half> @llvm.dx.ddx.coarse.v4f16(<4 x half> %{{.*}})
38+
// CHECK-LABEL: <4 x half> @_Z20test_f16_ddx_coarse4Dv4_Dh
39+
// CHECK: %hlsl.ddx.coarse = call {{.*}} <4 x half> @llvm.dx.ddx.coarse.v4f16(<4 x half> %{{.*}})
3040
// CHECK: ret <4 x half> %hlsl.ddx.coarse
41+
// CHECK-LABEL-SPIRV: <4 x half> @_Z20test_f16_ddx_coarse4Dv4_Dh
42+
// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} <4 x half> @llvm.spv.ddx.coarse.v4f16(<4 x half> %{{.*}})
43+
// CHECK-SPIRV: ret <4 x half> %hlsl.ddx.coarse
3144
half4 test_f16_ddx_coarse4(half4 val) {
3245
return ddx_coarse(val);
3346
}
3447

35-
// CHECK: define linkonce_odr hidden noundef nofpclass(nan inf) float @
36-
// CHECK: %hlsl.ddx.coarse = call reassoc nnan ninf nsz arcp afn float @llvm.dx.ddx.coarse.f32(float %{{.*}})
48+
// CHECK-LABEL: float @_Z19test_f32_ddx_coarsef
49+
// CHECK: %hlsl.ddx.coarse = call {{.*}} float @llvm.dx.ddx.coarse.f32(float %{{.*}})
3750
// CHECK: ret float %hlsl.ddx.coarse
51+
// CHECK-LABEL-SPIRV: float @_Z19test_f32_ddx_coarsef
52+
// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} float @llvm.spv.ddx.coarse.f32(float %{{.*}})
53+
// CHECK-SPIRV: ret float %hlsl.ddx.coarse
3854
float test_f32_ddx_coarse(float val) {
3955
return ddx_coarse(val);
4056
}
4157

42-
// CHECK: define linkonce_odr hidden noundef nofpclass(nan inf) <2 x float> @
43-
// CHECK: %hlsl.ddx.coarse = call reassoc nnan ninf nsz arcp afn <2 x float> @llvm.dx.ddx.coarse.v2f32(<2 x float> %{{.*}})
58+
// CHECK-LABEL: <2 x float> @_Z20test_f32_ddx_coarse2Dv2_f
59+
// CHECK: %hlsl.ddx.coarse = call {{.*}} <2 x float> @llvm.dx.ddx.coarse.v2f32(<2 x float> %{{.*}})
4460
// CHECK: ret <2 x float> %hlsl.ddx.coarse
61+
// CHECK-LABEL-SPIRV: <2 x float> @_Z20test_f32_ddx_coarse2Dv2_f
62+
// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} <2 x float> @llvm.spv.ddx.coarse.v2f32(<2 x float> %{{.*}})
63+
// CHECK-SPIRV: ret <2 x float> %hlsl.ddx.coarse
4564
float2 test_f32_ddx_coarse2(float2 val) {
4665
return ddx_coarse(val);
4766
}
4867

49-
// CHECK: define linkonce_odr hidden noundef nofpclass(nan inf) <3 x float> @
50-
// CHECK: %hlsl.ddx.coarse = call reassoc nnan ninf nsz arcp afn <3 x float> @llvm.dx.ddx.coarse.v3f32(<3 x float> %{{.*}})
68+
// CHECK-LABEL: <3 x float> @_Z20test_f32_ddx_coarse3Dv3_f
69+
// CHECK: %hlsl.ddx.coarse = call {{.*}} <3 x float> @llvm.dx.ddx.coarse.v3f32(<3 x float> %{{.*}})
5170
// CHECK: ret <3 x float> %hlsl.ddx.coarse
71+
// CHECK-LABEL-SPIRV: <3 x float> @_Z20test_f32_ddx_coarse3Dv3_f
72+
// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} <3 x float> @llvm.spv.ddx.coarse.v3f32(<3 x float> %{{.*}})
73+
// CHECK-SPIRV: ret <3 x float> %hlsl.ddx.coarse
5274
float3 test_f32_ddx_coarse3(float3 val) {
5375
return ddx_coarse(val);
5476
}
5577

56-
// CHECK: define linkonce_odr hidden noundef nofpclass(nan inf) <4 x float> @
57-
// CHECK: %hlsl.ddx.coarse = call reassoc nnan ninf nsz arcp afn <4 x float> @llvm.dx.ddx.coarse.v4f32(<4 x float> %{{.*}})
78+
// CHECK-LABEL: <4 x float> @_Z20test_f32_ddx_coarse4Dv4_f
79+
// CHECK: %hlsl.ddx.coarse = call {{.*}} <4 x float> @llvm.dx.ddx.coarse.v4f32(<4 x float> %{{.*}})
5880
// CHECK: ret <4 x float> %hlsl.ddx.coarse
81+
// CHECK-LABEL-SPIRV: <4 x float> @_Z20test_f32_ddx_coarse4Dv4_f
82+
// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} <4 x float> @llvm.spv.ddx.coarse.v4f32(<4 x float> %{{.*}})
83+
// CHECK-SPIRV: ret <4 x float> %hlsl.ddx.coarse
5984
float4 test_f32_ddx_coarse4(float4 val) {
6085
return ddx_coarse(val);
6186
}
Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,26 @@
11
// RUN: %clang_cc1 -finclude-default-header -x hlsl -triple dxil-pc-shadermodel6.3-library %s \
22
// RUN: -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
33
// RUN: FileCheck %s --check-prefixes=CHECK
4+
// RUN: %clang_cc1 -finclude-default-header -x hlsl -triple spirv-pc-vulkan-compute %s \
5+
// RUN: -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
6+
// RUN: FileCheck %s --check-prefixes=CHECK-SPIRV
47

5-
// CHECK: define hidden noundef nofpclass(nan inf) half @
6-
// CHECK: %hlsl.ddy.coarse = call reassoc nnan ninf nsz arcp afn half @llvm.dx.ddy.coarse.f16(half %{{.*}})
8+
// CHECK-LABEL: half @_Z19test_f16_ddy_coarseDh
9+
// CHECK: %hlsl.ddy.coarse = call {{.*}} half @llvm.dx.ddy.coarse.f16(half %{{.*}})
710
// CHECK: ret half %hlsl.ddy.coarse
11+
// CHECK-LABEL-SPIRV: half @_Z19test_f16_ddy_coarseDh
12+
// CHECK-SPIRV: %hlsl.ddy.coarse = call {{.*}} half @llvm.spv.ddy.coarse.f16(half %{{.*}})
13+
// CHECK-SPIRV: ret half %hlsl.ddy.coarse
814
half test_f16_ddy_coarse(half val) {
915
return __builtin_hlsl_elementwise_ddy_coarse(val);
1016
}
1117

12-
// CHECK: define hidden noundef nofpclass(nan inf) float @
13-
// CHECK: %hlsl.ddy.coarse = call reassoc nnan ninf nsz arcp afn float @llvm.dx.ddy.coarse.f32(float %{{.*}})
18+
// CHECK-LABEL: float @_Z19test_f32_ddy_coarsef
19+
// CHECK: %hlsl.ddy.coarse = call {{.*}} float @llvm.dx.ddy.coarse.f32(float %{{.*}})
1420
// CHECK: ret float %hlsl.ddy.coarse
21+
// CHECK-LABEL-SPIRV: float @_Z19test_f32_ddy_coarsef
22+
// CHECK-SPIRV: %hlsl.ddy.coarse = call {{.*}} float @llvm.spv.ddy.coarse.f32(float %{{.*}})
23+
// CHECK-SPIRV: ret float %hlsl.ddy.coarse
1524
float test_f32_ddy_coarse(float val) {
1625
return __builtin_hlsl_elementwise_ddy_coarse(val);
17-
}
26+
}
Lines changed: 43 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,86 @@
11
// RUN: %clang_cc1 -finclude-default-header -x hlsl -triple dxil-pc-shadermodel6.3-library %s \
22
// RUN: -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
33
// RUN: FileCheck %s --check-prefixes=CHECK
4+
// RUN: %clang_cc1 -finclude-default-header -x hlsl -triple spirv-pc-vulkan-compute %s \
5+
// RUN: -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
6+
// RUN: FileCheck %s --check-prefixes=CHECK-SPIRV
47

5-
using hlsl::ddy_coarse;
6-
7-
// CHECK: define linkonce_odr hidden noundef nofpclass(nan inf) half @
8-
// CHECK: %hlsl.ddy.coarse = call reassoc nnan ninf nsz arcp afn half @llvm.dx.ddy.coarse.f16(half %{{.*}})
8+
// CHECK-LABEL: half @_Z19test_f16_ddy_coarseDh
9+
// CHECK: %hlsl.ddy.coarse = call {{.*}} half @llvm.dx.ddy.coarse.f16(half %{{.*}})
910
// CHECK: ret half %hlsl.ddy.coarse
11+
// CHECK-LABEL-SPIRV: half @_Z19test_f16_ddy_coarseDh
12+
// CHECK-SPIRV: %hlsl.ddy.coarse = call {{.*}} half @llvm.spv.ddy.coarse.f16(half %{{.*}})
13+
// CHECK-SPIRV: ret half %hlsl.ddy.coarse
1014
half test_f16_ddy_coarse(half val) {
1115
return ddy_coarse(val);
1216
}
1317

14-
// CHECK: define linkonce_odr hidden noundef nofpclass(nan inf) <2 x half> @
15-
// CHECK: %hlsl.ddy.coarse = call reassoc nnan ninf nsz arcp afn <2 x half> @llvm.dx.ddy.coarse.v2f16(<2 x half> %{{.*}})
18+
// CHECK-LABEL: <2 x half> @_Z20test_f16_ddy_coarse2Dv2_Dh
19+
// CHECK: %hlsl.ddy.coarse = call {{.*}} <2 x half> @llvm.dx.ddy.coarse.v2f16(<2 x half> %{{.*}})
1620
// CHECK: ret <2 x half> %hlsl.ddy.coarse
21+
// CHECK-LABEL-SPIRV: <2 x half> @_Z20test_f16_ddy_coarse2Dv2_Dh
22+
// CHECK-SPIRV: %hlsl.ddy.coarse = call {{.*}} <2 x half> @llvm.spv.ddy.coarse.v2f16(<2 x half> %{{.*}})
23+
// CHECK-SPIRV: ret <2 x half> %hlsl.ddy.coarse
1724
half2 test_f16_ddy_coarse2(half2 val) {
1825
return ddy_coarse(val);
1926
}
2027

21-
// CHECK: define linkonce_odr hidden noundef nofpclass(nan inf) <3 x half> @
22-
// CHECK: %hlsl.ddy.coarse = call reassoc nnan ninf nsz arcp afn <3 x half> @llvm.dx.ddy.coarse.v3f16(<3 x half> %{{.*}})
28+
// CHECK-LABEL: <3 x half> @_Z20test_f16_ddy_coarse3Dv3_Dh
29+
// CHECK: %hlsl.ddy.coarse = call {{.*}} <3 x half> @llvm.dx.ddy.coarse.v3f16(<3 x half> %{{.*}})
2330
// CHECK: ret <3 x half> %hlsl.ddy.coarse
31+
// CHECK-LABEL-SPIRV: <3 x half> @_Z20test_f16_ddy_coarse3Dv3_Dh
32+
// CHECK-SPIRV: %hlsl.ddy.coarse = call {{.*}} <3 x half> @llvm.spv.ddy.coarse.v3f16(<3 x half> %{{.*}})
33+
// CHECK-SPIRV: ret <3 x half> %hlsl.ddy.coarse
2434
half3 test_f16_ddy_coarse3(half3 val) {
2535
return ddy_coarse(val);
2636
}
2737

28-
// CHECK: define linkonce_odr hidden noundef nofpclass(nan inf) <4 x half> @
29-
// CHECK: %hlsl.ddy.coarse = call reassoc nnan ninf nsz arcp afn <4 x half> @llvm.dx.ddy.coarse.v4f16(<4 x half> %{{.*}})
38+
// CHECK-LABEL: <4 x half> @_Z20test_f16_ddy_coarse4Dv4_Dh
39+
// CHECK: %hlsl.ddy.coarse = call {{.*}} <4 x half> @llvm.dx.ddy.coarse.v4f16(<4 x half> %{{.*}})
3040
// CHECK: ret <4 x half> %hlsl.ddy.coarse
41+
// CHECK-LABEL-SPIRV: <4 x half> @_Z20test_f16_ddy_coarse4Dv4_Dh
42+
// CHECK-SPIRV: %hlsl.ddy.coarse = call {{.*}} <4 x half> @llvm.spv.ddy.coarse.v4f16(<4 x half> %{{.*}})
43+
// CHECK-SPIRV: ret <4 x half> %hlsl.ddy.coarse
3144
half4 test_f16_ddy_coarse4(half4 val) {
3245
return ddy_coarse(val);
3346
}
3447

35-
// CHECK: define linkonce_odr hidden noundef nofpclass(nan inf) float @
36-
// CHECK: %hlsl.ddy.coarse = call reassoc nnan ninf nsz arcp afn float @llvm.dx.ddy.coarse.f32(float %{{.*}})
48+
// CHECK-LABEL: float @_Z19test_f32_ddy_coarsef
49+
// CHECK: %hlsl.ddy.coarse = call {{.*}} float @llvm.dx.ddy.coarse.f32(float %{{.*}})
3750
// CHECK: ret float %hlsl.ddy.coarse
51+
// CHECK-LABEL-SPIRV: float @_Z19test_f32_ddy_coarsef
52+
// CHECK-SPIRV: %hlsl.ddy.coarse = call {{.*}} float @llvm.spv.ddy.coarse.f32(float %{{.*}})
53+
// CHECK-SPIRV: ret float %hlsl.ddy.coarse
3854
float test_f32_ddy_coarse(float val) {
3955
return ddy_coarse(val);
4056
}
4157

42-
// CHECK: define linkonce_odr hidden noundef nofpclass(nan inf) <2 x float> @
43-
// CHECK: %hlsl.ddy.coarse = call reassoc nnan ninf nsz arcp afn <2 x float> @llvm.dx.ddy.coarse.v2f32(<2 x float> %{{.*}})
58+
// CHECK-LABEL: <2 x float> @_Z20test_f32_ddy_coarse2Dv2_f
59+
// CHECK: %hlsl.ddy.coarse = call {{.*}} <2 x float> @llvm.dx.ddy.coarse.v2f32(<2 x float> %{{.*}})
4460
// CHECK: ret <2 x float> %hlsl.ddy.coarse
61+
// CHECK-LABEL-SPIRV: <2 x float> @_Z20test_f32_ddy_coarse2Dv2_f
62+
// CHECK-SPIRV: %hlsl.ddy.coarse = call {{.*}} <2 x float> @llvm.spv.ddy.coarse.v2f32(<2 x float> %{{.*}})
63+
// CHECK-SPIRV: ret <2 x float> %hlsl.ddy.coarse
4564
float2 test_f32_ddy_coarse2(float2 val) {
4665
return ddy_coarse(val);
4766
}
4867

49-
// CHECK: define linkonce_odr hidden noundef nofpclass(nan inf) <3 x float> @
50-
// CHECK: %hlsl.ddy.coarse = call reassoc nnan ninf nsz arcp afn <3 x float> @llvm.dx.ddy.coarse.v3f32(<3 x float> %{{.*}})
68+
// CHECK-LABEL: <3 x float> @_Z20test_f32_ddy_coarse3Dv3_f
69+
// CHECK: %hlsl.ddy.coarse = call {{.*}} <3 x float> @llvm.dx.ddy.coarse.v3f32(<3 x float> %{{.*}})
5170
// CHECK: ret <3 x float> %hlsl.ddy.coarse
71+
// CHECK-LABEL-SPIRV: <3 x float> @_Z20test_f32_ddy_coarse3Dv3_f
72+
// CHECK-SPIRV: %hlsl.ddy.coarse = call {{.*}} <3 x float> @llvm.spv.ddy.coarse.v3f32(<3 x float> %{{.*}})
73+
// CHECK-SPIRV: ret <3 x float> %hlsl.ddy.coarse
5274
float3 test_f32_ddy_coarse3(float3 val) {
5375
return ddy_coarse(val);
5476
}
5577

56-
// CHECK: define linkonce_odr hidden noundef nofpclass(nan inf) <4 x float> @
57-
// CHECK: %hlsl.ddy.coarse = call reassoc nnan ninf nsz arcp afn <4 x float> @llvm.dx.ddy.coarse.v4f32(<4 x float> %{{.*}})
78+
// CHECK-LABEL: <4 x float> @_Z20test_f32_ddy_coarse4Dv4_f
79+
// CHECK: %hlsl.ddy.coarse = call {{.*}} <4 x float> @llvm.dx.ddy.coarse.v4f32(<4 x float> %{{.*}})
5880
// CHECK: ret <4 x float> %hlsl.ddy.coarse
81+
// CHECK-LABEL-SPIRV: <4 x float> @_Z20test_f32_ddy_coarse4Dv4_f
82+
// CHECK-SPIRV: %hlsl.ddy.coarse = call {{.*}} <4 x float> @llvm.spv.ddy.coarse.v4f32(<4 x float> %{{.*}})
83+
// CHECK-SPIRV: ret <4 x float> %hlsl.ddy.coarse
5984
float4 test_f32_ddy_coarse4(float4 val) {
6085
return ddy_coarse(val);
6186
}

clang/test/SemaHLSL/BuiltIns/ddx-coarse-errors.hlsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ float test_integer_scalar_input(int val) {
2020
double test_double_scalar_input(double val) {
2121
return __builtin_hlsl_elementwise_ddx_coarse(val);
2222
// expected-error@-1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double')}}
23-
}
23+
}

clang/test/SemaHLSL/BuiltIns/ddy-coarse-errors.hlsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ float test_integer_scalar_input(int val) {
1818
double test_double_scalar_input(double val) {
1919
return __builtin_hlsl_elementwise_ddy_coarse(val);
2020
// expected-error@-1 {{1st argument must be a scalar or vector of 16 or 32 bit floating-point types (was 'double')}}
21-
}
21+
}

llvm/test/CodeGen/DirectX/ddx_coarse.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
; RUN: opt -S -scalarizer -dxil-op-lower -mtriple=dxil-pc-shadermodel6.3-library %s | FileCheck %s
22

3-
; Make sure dxil operation function calls for fwidth are generated for half/float and matching vectors
3+
; Make sure dxil operation function calls for ddx_coarse are generated for half/float and matching vectors
44

55
define noundef half @deriv_coarse_x_half(half noundef %a) {
66
; CHECK: call half @dx.op.unary.f16(i32 83, half %{{.*}})

llvm/test/CodeGen/DirectX/ddy_coarse.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
; RUN: opt -S -scalarizer -dxil-op-lower -mtriple=dxil-pc-shadermodel6.3-library %s | FileCheck %s
22

3-
; Make sure dxil operation function calls for fwidth are generated for half/float and matching vectors
3+
; Make sure dxil operation function calls for ddy_coarse are generated for half/float and matching vectors
44

55
define noundef half @deriv_coarse_y_half(half noundef %a) {
66
; CHECK: call half @dx.op.unary.f16(i32 84, half %{{.*}})

0 commit comments

Comments
 (0)