llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-hlsl

Author: Gregory Roth (pow2clk)

<details>
<summary>Changes</summary>

The LABEL CHECKS intended to correspond to the CHECK-SPIRV directives were 
misformed such that they had no effect. Given the similarity of the output for 
SPIRV and DXIL, I've replaced them with common checks using variables to match 
the parts that differ.

---

Patch is 39.30 KiB, truncated to 20.00 KiB below, full version: 
https://github.com/llvm/llvm-project/pull/176609.diff


10 Files Affected:

- (modified) clang/test/CodeGenHLSL/builtins/ddx-coarse-builtin.hlsl (+4-10) 
- (modified) clang/test/CodeGenHLSL/builtins/ddx-coarse.hlsl (+10-34) 
- (modified) clang/test/CodeGenHLSL/builtins/ddx-fine-builtin.hlsl (+4-10) 
- (modified) clang/test/CodeGenHLSL/builtins/ddx-fine.hlsl (+10-34) 
- (modified) clang/test/CodeGenHLSL/builtins/ddx.hlsl (+18-42) 
- (modified) clang/test/CodeGenHLSL/builtins/ddy-coarse-builtin.hlsl (+4-10) 
- (modified) clang/test/CodeGenHLSL/builtins/ddy-coarse.hlsl (+10-34) 
- (modified) clang/test/CodeGenHLSL/builtins/ddy-fine-builtin.hlsl (+4-10) 
- (modified) clang/test/CodeGenHLSL/builtins/ddy-fine.hlsl (+10-34) 
- (modified) clang/test/CodeGenHLSL/builtins/ddy.hlsl (+18-42) 


``````````diff
diff --git a/clang/test/CodeGenHLSL/builtins/ddx-coarse-builtin.hlsl 
b/clang/test/CodeGenHLSL/builtins/ddx-coarse-builtin.hlsl
index 01216eefadba2..e79fcf266833e 100644
--- a/clang/test/CodeGenHLSL/builtins/ddx-coarse-builtin.hlsl
+++ b/clang/test/CodeGenHLSL/builtins/ddx-coarse-builtin.hlsl
@@ -1,26 +1,20 @@
 // RUN: %clang_cc1 -finclude-default-header  -x hlsl  -triple 
dxil-pc-shadermodel6.3-library %s \
 // RUN:  -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
-// RUN:  FileCheck %s --check-prefixes=CHECK
+// RUN:  FileCheck %s -DTGT=dx
 // RUN: %clang_cc1 -finclude-default-header  -x hlsl  -triple 
spirv-pc-vulkan-compute  %s \
 // RUN:  -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
-// RUN:  FileCheck %s --check-prefixes=CHECK-SPIRV
+// RUN:  FileCheck %s -DTGT=spv
 
 // CHECK-LABEL: half @_Z19test_f16_ddx_coarseDh
-// CHECK: %hlsl.ddx.coarse = call {{.*}} half @llvm.dx.ddx.coarse.f16(half 
%{{.*}})
+// CHECK: %hlsl.ddx.coarse = call {{.*}} half 
@llvm.[[TGT]].ddx.coarse.f16(half %{{.*}})
 // CHECK: ret half %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: half @_Z19test_f16_ddx_coarseDh
-// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} half 
@llvm.spv.ddx.coarse.f16(half %{{.*}})
-// CHECK-SPIRV: ret half %hlsl.ddx.coarse
 half test_f16_ddx_coarse(half val) {
     return __builtin_hlsl_elementwise_ddx_coarse(val);
 }
 
 // CHECK-LABEL: float @_Z19test_f32_ddx_coarsef
-// CHECK: %hlsl.ddx.coarse = call {{.*}} float @llvm.dx.ddx.coarse.f32(float 
%{{.*}})
+// CHECK: %hlsl.ddx.coarse = call {{.*}} float 
@llvm.[[TGT]].ddx.coarse.f32(float %{{.*}})
 // CHECK: ret float %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: float @_Z19test_f32_ddx_coarsef
-// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} float 
@llvm.spv.ddx.coarse.f32(float %{{.*}})
-// CHECK-SPIRV: ret float %hlsl.ddx.coarse
 float test_f32_ddx_coarse(float val) {
     return __builtin_hlsl_elementwise_ddx_coarse(val);
 }
diff --git a/clang/test/CodeGenHLSL/builtins/ddx-coarse.hlsl 
b/clang/test/CodeGenHLSL/builtins/ddx-coarse.hlsl
index c200d4715629e..e7cd4c71cb405 100644
--- a/clang/test/CodeGenHLSL/builtins/ddx-coarse.hlsl
+++ b/clang/test/CodeGenHLSL/builtins/ddx-coarse.hlsl
@@ -1,86 +1,62 @@
 // RUN: %clang_cc1 -finclude-default-header  -x hlsl  -triple 
dxil-pc-shadermodel6.3-library %s \
 // RUN:  -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
-// RUN:  FileCheck %s --check-prefixes=CHECK
+// RUN:  FileCheck %s -DTGT=dx
 // RUN: %clang_cc1 -finclude-default-header  -x hlsl  -triple 
spirv-pc-vulkan-compute  %s \
 // RUN:  -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
-// RUN:  FileCheck %s --check-prefixes=CHECK-SPIRV
+// RUN:  FileCheck %s -DTGT=spv
 
 // CHECK-LABEL: half @_Z19test_f16_ddx_coarseDh
-// CHECK: %hlsl.ddx.coarse = call {{.*}} half @llvm.dx.ddx.coarse.f16(half 
%{{.*}})
+// CHECK: %hlsl.ddx.coarse = call {{.*}} half 
@llvm.[[TGT]].ddx.coarse.f16(half %{{.*}})
 // CHECK: ret half %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: half @_Z19test_f16_ddx_coarseDh
-// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} half 
@llvm.spv.ddx.coarse.f16(half %{{.*}})
-// CHECK-SPIRV: ret half %hlsl.ddx.coarse
 half test_f16_ddx_coarse(half val) {
     return ddx_coarse(val);
 }
 
 // CHECK-LABEL: <2 x half> @_Z20test_f16_ddx_coarse2Dv2_Dh
-// CHECK: %hlsl.ddx.coarse = call {{.*}} <2 x half> 
@llvm.dx.ddx.coarse.v2f16(<2 x half> %{{.*}})
+// CHECK: %hlsl.ddx.coarse = call {{.*}} <2 x half> 
@llvm.[[TGT]].ddx.coarse.v2f16(<2 x half> %{{.*}})
 // CHECK: ret <2 x half> %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: <2 x half> @_Z20test_f16_ddx_coarse2Dv2_Dh
-// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} <2 x half> 
@llvm.spv.ddx.coarse.v2f16(<2 x half> %{{.*}})
-// CHECK-SPIRV: ret <2 x half> %hlsl.ddx.coarse
 half2 test_f16_ddx_coarse2(half2 val) {
     return ddx_coarse(val);
 }
 
 // CHECK-LABEL: <3 x half> @_Z20test_f16_ddx_coarse3Dv3_Dh
-// CHECK: %hlsl.ddx.coarse = call {{.*}} <3 x half> 
@llvm.dx.ddx.coarse.v3f16(<3 x half> %{{.*}})
+// CHECK: %hlsl.ddx.coarse = call {{.*}} <3 x half> 
@llvm.[[TGT]].ddx.coarse.v3f16(<3 x half> %{{.*}})
 // CHECK: ret <3 x half> %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: <3 x half> @_Z20test_f16_ddx_coarse3Dv3_Dh
-// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} <3 x half> 
@llvm.spv.ddx.coarse.v3f16(<3 x half> %{{.*}})
-// CHECK-SPIRV: ret <3 x half> %hlsl.ddx.coarse
 half3 test_f16_ddx_coarse3(half3 val) {
     return ddx_coarse(val);
 }
 
 // CHECK-LABEL: <4 x half> @_Z20test_f16_ddx_coarse4Dv4_Dh
-// CHECK: %hlsl.ddx.coarse = call {{.*}} <4 x half> 
@llvm.dx.ddx.coarse.v4f16(<4 x half> %{{.*}})
+// CHECK: %hlsl.ddx.coarse = call {{.*}} <4 x half> 
@llvm.[[TGT]].ddx.coarse.v4f16(<4 x half> %{{.*}})
 // CHECK: ret <4 x half> %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: <4 x half> @_Z20test_f16_ddx_coarse4Dv4_Dh
-// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} <4 x half> 
@llvm.spv.ddx.coarse.v4f16(<4 x half> %{{.*}})
-// CHECK-SPIRV: ret <4 x half> %hlsl.ddx.coarse
 half4 test_f16_ddx_coarse4(half4 val) {
     return ddx_coarse(val);
 }
 
 // CHECK-LABEL: float @_Z19test_f32_ddx_coarsef
-// CHECK: %hlsl.ddx.coarse = call {{.*}} float @llvm.dx.ddx.coarse.f32(float 
%{{.*}})
+// CHECK: %hlsl.ddx.coarse = call {{.*}} float 
@llvm.[[TGT]].ddx.coarse.f32(float %{{.*}})
 // CHECK: ret float %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: float @_Z19test_f32_ddx_coarsef
-// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} float 
@llvm.spv.ddx.coarse.f32(float %{{.*}})
-// CHECK-SPIRV: ret float %hlsl.ddx.coarse
 float test_f32_ddx_coarse(float val) {
     return ddx_coarse(val);
 }
 
 // CHECK-LABEL: <2 x float> @_Z20test_f32_ddx_coarse2Dv2_f
-// CHECK: %hlsl.ddx.coarse = call {{.*}} <2 x float> 
@llvm.dx.ddx.coarse.v2f32(<2 x float> %{{.*}})
+// CHECK: %hlsl.ddx.coarse = call {{.*}} <2 x float> 
@llvm.[[TGT]].ddx.coarse.v2f32(<2 x float> %{{.*}})
 // CHECK: ret <2 x float> %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: <2 x float> @_Z20test_f32_ddx_coarse2Dv2_f
-// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} <2 x float> 
@llvm.spv.ddx.coarse.v2f32(<2 x float> %{{.*}})
-// CHECK-SPIRV: ret <2 x float> %hlsl.ddx.coarse
 float2 test_f32_ddx_coarse2(float2 val) {
     return ddx_coarse(val);
 }
 
 // CHECK-LABEL: <3 x float> @_Z20test_f32_ddx_coarse3Dv3_f
-// CHECK: %hlsl.ddx.coarse = call {{.*}} <3 x float> 
@llvm.dx.ddx.coarse.v3f32(<3 x float> %{{.*}})
+// CHECK: %hlsl.ddx.coarse = call {{.*}} <3 x float> 
@llvm.[[TGT]].ddx.coarse.v3f32(<3 x float> %{{.*}})
 // CHECK: ret <3 x float> %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: <3 x float> @_Z20test_f32_ddx_coarse3Dv3_f
-// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} <3 x float> 
@llvm.spv.ddx.coarse.v3f32(<3 x float> %{{.*}})
-// CHECK-SPIRV: ret <3 x float> %hlsl.ddx.coarse
 float3 test_f32_ddx_coarse3(float3 val) {
     return ddx_coarse(val);
 }
 
 // CHECK-LABEL: <4 x float> @_Z20test_f32_ddx_coarse4Dv4_f
-// CHECK: %hlsl.ddx.coarse = call {{.*}} <4 x float> 
@llvm.dx.ddx.coarse.v4f32(<4 x float> %{{.*}})
+// CHECK: %hlsl.ddx.coarse = call {{.*}} <4 x float> 
@llvm.[[TGT]].ddx.coarse.v4f32(<4 x float> %{{.*}})
 // CHECK: ret <4 x float> %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: <4 x float> @_Z20test_f32_ddx_coarse4Dv4_f
-// CHECK-SPIRV: %hlsl.ddx.coarse = call {{.*}} <4 x float> 
@llvm.spv.ddx.coarse.v4f32(<4 x float> %{{.*}})
-// CHECK-SPIRV: ret <4 x float> %hlsl.ddx.coarse
 float4 test_f32_ddx_coarse4(float4 val) {
     return ddx_coarse(val);
 }
diff --git a/clang/test/CodeGenHLSL/builtins/ddx-fine-builtin.hlsl 
b/clang/test/CodeGenHLSL/builtins/ddx-fine-builtin.hlsl
index 69f7ab3c6ce62..ef8d4d0770a26 100644
--- a/clang/test/CodeGenHLSL/builtins/ddx-fine-builtin.hlsl
+++ b/clang/test/CodeGenHLSL/builtins/ddx-fine-builtin.hlsl
@@ -1,26 +1,20 @@
 // RUN: %clang_cc1 -finclude-default-header  -x hlsl  -triple 
dxil-pc-shadermodel6.3-library %s \
 // RUN:  -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
-// RUN:  FileCheck %s --check-prefixes=CHECK
+// RUN:  FileCheck %s -DTGT=dx
 // RUN: %clang_cc1 -finclude-default-header  -x hlsl  -triple 
spirv-pc-vulkan-compute  %s \
 // RUN:  -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
-// RUN:  FileCheck %s --check-prefixes=CHECK-SPIRV
+// RUN:  FileCheck %s -DTGT=spv
 
 // CHECK-LABEL: half @_Z17test_f16_ddx_fineDh
-// CHECK: %hlsl.ddx.fine = call {{.*}} half @llvm.dx.ddx.fine.f16(half %{{.*}})
+// CHECK: %hlsl.ddx.fine = call {{.*}} half @llvm.[[TGT]].ddx.fine.f16(half 
%{{.*}})
 // CHECK: ret half %hlsl.ddx.fine
-// CHECK-LABEL-SPIRV: half @_Z17test_f16_ddx_fineDh
-// CHECK-SPIRV: %hlsl.ddx.fine = call {{.*}} half @llvm.spv.ddx.fine.f16(half 
%{{.*}})
-// CHECK-SPIRV: ret half %hlsl.ddx.fine
 half test_f16_ddx_fine(half val) {
     return __builtin_hlsl_elementwise_ddx_fine(val);
 }
 
 // CHECK-LABEL: float @_Z17test_f32_ddx_finef
-// CHECK: %hlsl.ddx.fine = call {{.*}} float @llvm.dx.ddx.fine.f32(float 
%{{.*}})
+// CHECK: %hlsl.ddx.fine = call {{.*}} float @llvm.[[TGT]].ddx.fine.f32(float 
%{{.*}})
 // CHECK: ret float %hlsl.ddx.fine
-// CHECK-LABEL-SPIRV: float @_Z17test_f32_ddx_finef
-// CHECK-SPIRV: %hlsl.ddx.fine = call {{.*}} float 
@llvm.spv.ddx.fine.f32(float %{{.*}})
-// CHECK-SPIRV: ret float %hlsl.ddx.fine
 float test_f32_ddx_fine(float val) {
     return __builtin_hlsl_elementwise_ddx_fine(val);
 }
diff --git a/clang/test/CodeGenHLSL/builtins/ddx-fine.hlsl 
b/clang/test/CodeGenHLSL/builtins/ddx-fine.hlsl
index 2630260abcb43..68e8223a3e8ab 100644
--- a/clang/test/CodeGenHLSL/builtins/ddx-fine.hlsl
+++ b/clang/test/CodeGenHLSL/builtins/ddx-fine.hlsl
@@ -1,86 +1,62 @@
 // RUN: %clang_cc1 -finclude-default-header  -x hlsl  -triple 
dxil-pc-shadermodel6.3-library %s \
 // RUN:  -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
-// RUN:  FileCheck %s --check-prefixes=CHECK
+// RUN:  FileCheck %s  -DTGT=dx
 // RUN: %clang_cc1 -finclude-default-header  -x hlsl  -triple 
spirv-pc-vulkan-compute  %s \
 // RUN:  -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
-// RUN:  FileCheck %s --check-prefixes=CHECK-SPIRV
+// RUN:  FileCheck %s -DTGT=spv
 
 // CHECK-LABEL: half @_Z17test_f16_ddx_fineDh
-// CHECK: %hlsl.ddx.fine = call {{.*}} half @llvm.dx.ddx.fine.f16(half %{{.*}})
+// CHECK: %hlsl.ddx.fine = call {{.*}} half @llvm.[[TGT]].ddx.fine.f16(half 
%{{.*}})
 // CHECK: ret half %hlsl.ddx.fine
-// CHECK-LABEL-SPIRV: half @_Z17test_f16_ddx_fineDh
-// CHECK-SPIRV: %hlsl.ddx.fine = call {{.*}} half @llvm.spv.ddx.fine.f16(half 
%{{.*}})
-// CHECK-SPIRV: ret half %hlsl.ddx.fine
 half test_f16_ddx_fine(half val) {
     return ddx_fine(val);
 }
 
 // CHECK-LABEL: <2 x half> @_Z18test_f16_ddx_fine2Dv2_Dh
-// CHECK: %hlsl.ddx.fine = call {{.*}} <2 x half> @llvm.dx.ddx.fine.v2f16(<2 x 
half> %{{.*}})
+// CHECK: %hlsl.ddx.fine = call {{.*}} <2 x half> 
@llvm.[[TGT]].ddx.fine.v2f16(<2 x half> %{{.*}})
 // CHECK: ret <2 x half> %hlsl.ddx.fine
-// CHECK-LABEL-SPIRV: <2 x half> @_Z18test_f16_ddx_fine2Dv2_Dh
-// CHECK-SPIRV: %hlsl.ddx.fine = call {{.*}} <2 x half> 
@llvm.spv.ddx.fine.v2f16(<2 x half> %{{.*}})
-// CHECK-SPIRV: ret <2 x half> %hlsl.ddx.fine
 half2 test_f16_ddx_fine2(half2 val) {
     return ddx_fine(val);
 }
 
 // CHECK-LABEL: <3 x half> @_Z18test_f16_ddx_fine3Dv3_Dh
-// CHECK: %hlsl.ddx.fine = call {{.*}} <3 x half> @llvm.dx.ddx.fine.v3f16(<3 x 
half> %{{.*}})
+// CHECK: %hlsl.ddx.fine = call {{.*}} <3 x half> 
@llvm.[[TGT]].ddx.fine.v3f16(<3 x half> %{{.*}})
 // CHECK: ret <3 x half> %hlsl.ddx.fine
-// CHECK-LABEL-SPIRV: <3 x half> @_Z18test_f16_ddx_fine3Dv3_Dh
-// CHECK-SPIRV: %hlsl.ddx.fine = call {{.*}} <3 x half> 
@llvm.spv.ddx.fine.v3f16(<3 x half> %{{.*}})
-// CHECK-SPIRV: ret <3 x half> %hlsl.ddx.fine
 half3 test_f16_ddx_fine3(half3 val) {
     return ddx_fine(val);
 }
 
 // CHECK-LABEL: <4 x half> @_Z18test_f16_ddx_fine4Dv4_Dh
-// CHECK: %hlsl.ddx.fine = call {{.*}} <4 x half> @llvm.dx.ddx.fine.v4f16(<4 x 
half> %{{.*}})
+// CHECK: %hlsl.ddx.fine = call {{.*}} <4 x half> 
@llvm.[[TGT]].ddx.fine.v4f16(<4 x half> %{{.*}})
 // CHECK: ret <4 x half> %hlsl.ddx.fine
-// CHECK-LABEL-SPIRV: <4 x half> @_Z18test_f16_ddx_fine4Dv4_Dh
-// CHECK-SPIRV: %hlsl.ddx.fine = call {{.*}} <4 x half> 
@llvm.spv.ddx.fine.v4f16(<4 x half> %{{.*}})
-// CHECK-SPIRV: ret <4 x half> %hlsl.ddx.fine
 half4 test_f16_ddx_fine4(half4 val) {
     return ddx_fine(val);
 }
 
 // CHECK-LABEL: float @_Z17test_f32_ddx_finef
-// CHECK: %hlsl.ddx.fine = call {{.*}} float @llvm.dx.ddx.fine.f32(float 
%{{.*}})
+// CHECK: %hlsl.ddx.fine = call {{.*}} float @llvm.[[TGT]].ddx.fine.f32(float 
%{{.*}})
 // CHECK: ret float %hlsl.ddx.fine
-// CHECK-LABEL-SPIRV: float @_Z17test_f32_ddx_finef
-// CHECK-SPIRV: %hlsl.ddx.fine = call {{.*}} float 
@llvm.spv.ddx.fine.f32(float %{{.*}})
-// CHECK-SPIRV: ret float %hlsl.ddx.fine
 float test_f32_ddx_fine(float val) {
     return ddx_fine(val);
 }
 
 // CHECK-LABEL: <2 x float> @_Z18test_f32_ddx_fine2Dv2_f
-// CHECK: %hlsl.ddx.fine = call {{.*}} <2 x float> @llvm.dx.ddx.fine.v2f32(<2 
x float> %{{.*}})
+// CHECK: %hlsl.ddx.fine = call {{.*}} <2 x float> 
@llvm.[[TGT]].ddx.fine.v2f32(<2 x float> %{{.*}})
 // CHECK: ret <2 x float> %hlsl.ddx.fine
-// CHECK-LABEL-SPIRV: <2 x float> @_Z18test_f32_ddx_fine2Dv2_f
-// CHECK-SPIRV: %hlsl.ddx.fine = call {{.*}} <2 x float> 
@llvm.spv.ddx.fine.v2f32(<2 x float> %{{.*}})
-// CHECK-SPIRV: ret <2 x float> %hlsl.ddx.fine
 float2 test_f32_ddx_fine2(float2 val) {
     return ddx_fine(val);
 }
 
 // CHECK-LABEL: <3 x float> @_Z18test_f32_ddx_fine3Dv3_f
-// CHECK: %hlsl.ddx.fine = call {{.*}} <3 x float> @llvm.dx.ddx.fine.v3f32(<3 
x float> %{{.*}})
+// CHECK: %hlsl.ddx.fine = call {{.*}} <3 x float> 
@llvm.[[TGT]].ddx.fine.v3f32(<3 x float> %{{.*}})
 // CHECK: ret <3 x float> %hlsl.ddx.fine
-// CHECK-LABEL-SPIRV: <3 x float> @_Z18test_f32_ddx_fine3Dv3_f
-// CHECK-SPIRV: %hlsl.ddx.fine = call {{.*}} <3 x float> 
@llvm.spv.ddx.fine.v3f32(<3 x float> %{{.*}})
-// CHECK-SPIRV: ret <3 x float> %hlsl.ddx.fine
 float3 test_f32_ddx_fine3(float3 val) {
     return ddx_fine(val);
 }
 
 // CHECK-LABEL: <4 x float> @_Z18test_f32_ddx_fine4Dv4_f
-// CHECK: %hlsl.ddx.fine = call {{.*}} <4 x float> @llvm.dx.ddx.fine.v4f32(<4 
x float> %{{.*}})
+// CHECK: %hlsl.ddx.fine = call {{.*}} <4 x float> 
@llvm.[[TGT]].ddx.fine.v4f32(<4 x float> %{{.*}})
 // CHECK: ret <4 x float> %hlsl.ddx.fine
-// CHECK-LABEL-SPIRV: <4 x float> @_Z18test_f32_ddx_fine4Dv4_f
-// CHECK-SPIRV: %hlsl.ddx.fine = call {{.*}} <4 x float> 
@llvm.spv.ddx.fine.v4f32(<4 x float> %{{.*}})
-// CHECK-SPIRV: ret <4 x float> %hlsl.ddx.fine
 float4 test_f32_ddx_fine4(float4 val) {
     return ddx_fine(val);
 }
diff --git a/clang/test/CodeGenHLSL/builtins/ddx.hlsl 
b/clang/test/CodeGenHLSL/builtins/ddx.hlsl
index 1a736e20c47ae..26597317f1368 100644
--- a/clang/test/CodeGenHLSL/builtins/ddx.hlsl
+++ b/clang/test/CodeGenHLSL/builtins/ddx.hlsl
@@ -1,86 +1,62 @@
 // RUN: %clang_cc1 -finclude-default-header  -x hlsl  -triple 
dxil-pc-shadermodel6.3-library %s \
 // RUN:  -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
-// RUN:  FileCheck %s --check-prefixes=CHECK
+// RUN:  FileCheck %s -DCALL=dx.ddx.coarse -DVAR=hlsl.ddx.coarse
 // RUN: %clang_cc1 -finclude-default-header  -x hlsl  -triple 
spirv-pc-vulkan-pixel  %s \
 // RUN:  -emit-llvm -disable-llvm-passes -fnative-half-type -o - | \
-// RUN:  FileCheck %s --check-prefixes=CHECK-SPIRV
+// RUN:  FileCheck %s -DCALL=spv.ddx -DVAR=spv.ddx
 
 // CHECK-LABEL: define {{.*}} half @_ZN4hlsl8__detail8ddx_implIDhEET_S2_
-// CHECK: %hlsl.ddx.coarse = call {{.*}} half @llvm.dx.ddx.coarse.f16(half 
%{{.*}})
-// CHECK: ret half %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: half @_ZN4hlsl8__detail8ddx_implIDhEET_S2_
-// CHECK-SPIRV: %spv.ddx = call {{.*}} half @llvm.spv.ddx.f16(half %{{.*}})
-// CHECK-SPIRV: ret half %spv.ddx
+// CHECK: %[[VAR]] = call {{.*}} half @llvm.[[CALL]].f16(half %{{.*}})
+// CHECK: ret half %[[VAR]]
 half test_f16_ddx(half val) {
     return ddx(val);
 }
 
 // CHECK-LABEL: define {{.*}} <2 x half> 
@_ZN4hlsl8__detail8ddx_implIDv2_DhEET_S3_
-// CHECK: %hlsl.ddx.coarse = call {{.*}} <2 x half> 
@llvm.dx.ddx.coarse.v2f16(<2 x half> %{{.*}})
-// CHECK: ret <2 x half> %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: <2 x half> @_ZN4hlsl8__detail8ddx_implIDv2_DhEET_S3_
-// CHECK-SPIRV: %spv.ddx = call {{.*}} <2 x half> @llvm.spv.ddx.v2f16(<2 x 
half> %{{.*}})
-// CHECK-SPIRV: ret <2 x half> %spv.ddx
+// CHECK: %[[VAR]] = call {{.*}} <2 x half> @llvm.[[CALL]].v2f16(<2 x half> 
%{{.*}})
+// CHECK: ret <2 x half> %[[VAR]]
 half2 test_f16_ddx2(half2 val) {
     return ddx(val);
 }
 
 // CHECK-LABEL: define {{.*}} <3 x half> 
@_ZN4hlsl8__detail8ddx_implIDv3_DhEET_S3_
-// CHECK: %hlsl.ddx.coarse = call {{.*}} <3 x half> 
@llvm.dx.ddx.coarse.v3f16(<3 x half> %{{.*}})
-// CHECK: ret <3 x half> %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: <3 x half> @_ZN4hlsl8__detail8ddx_implIDv3_DhEET_S3_
-// CHECK-SPIRV: %spv.ddx = call {{.*}} <3 x half> @llvm.spv.ddx.v3f16(<3 x 
half> %{{.*}})
-// CHECK-SPIRV: ret <3 x half> %spv.ddx
+// CHECK: %[[VAR]] = call {{.*}} <3 x half> @llvm.[[CALL]].v3f16(<3 x half> 
%{{.*}})
+// CHECK: ret <3 x half> %[[VAR]]
 half3 test_f16_ddx3(half3 val) {
     return ddx(val);
 }
 
 // CHECK-LABEL: define {{.*}} <4 x half> 
@_ZN4hlsl8__detail8ddx_implIDv4_DhEET_S3_
-// CHECK: %hlsl.ddx.coarse = call {{.*}} <4 x half> 
@llvm.dx.ddx.coarse.v4f16(<4 x half> %{{.*}})
-// CHECK: ret <4 x half> %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: <4 x half> @_ZN4hlsl8__detail8ddx_implIDv4_DhEET_S3_
-// CHECK-SPIRV: %spv.ddx = call {{.*}} <4 x half> @llvm.spv.ddx.v4f16(<4 x 
half> %{{.*}})
-// CHECK-SPIRV: ret <4 x half> %spv.ddx
+// CHECK: %[[VAR]] = call {{.*}} <4 x half> @llvm.[[CALL]].v4f16(<4 x half> 
%{{.*}})
+// CHECK: ret <4 x half> %[[VAR]]
 half4 test_f16_ddx4(half4 val) {
     return ddx(val);
 }
 
 // CHECK-LABEL: define {{.*}} float @_ZN4hlsl8__detail8ddx_implIfEET_S2_
-// CHECK: %hlsl.ddx.coarse = call {{.*}} float @llvm.dx.ddx.coarse.f32(float 
%{{.*}})
-// CHECK: ret float %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: float @_ZN4hlsl8__detail8ddx_implIfEET_S2_
-// CHECK-SPIRV: %spv.ddx = call {{.*}} float @llvm.spv.ddx.f32(float %{{.*}})
-// CHECK-SPIRV: ret float %spv.ddx
+// CHECK: %[[VAR]] = call {{.*}} float @llvm.[[CALL]].f32(float %{{.*}})
+// CHECK: ret float %[[VAR]]
 float test_f32_ddx(float val) {
     return ddx(val);
 }
 
 // CHECK-LABEL: define {{.*}} <2 x float> 
@_ZN4hlsl8__detail8ddx_implIDv2_fEET_S3_
-// CHECK: %hlsl.ddx.coarse = call {{.*}} <2 x float> 
@llvm.dx.ddx.coarse.v2f32(<2 x float> %{{.*}})
-// CHECK: ret <2 x float> %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: <2 x float> @_ZN4hlsl8__detail8ddx_implIDv2_fEET_S3_
-// CHECK-SPIRV: %spv.ddx = call {{.*}} <2 x float> @llvm.spv.ddx.v2f32(<2 x 
float> %{{.*}})
-// CHECK-SPIRV: ret <2 x float> %spv.ddx
+// CHECK: %[[VAR]] = call {{.*}} <2 x float> @llvm.[[CALL]].v2f32(<2 x float> 
%{{.*}})
+// CHECK: ret <2 x float> %[[VAR]]
 float2 test_f32_ddx2(float2 val) {
     return ddx(val);
 }
 
 // CHECK-LABEL: define {{.*}} <3 x float> 
@_ZN4hlsl8__detail8ddx_implIDv3_fEET_S3_
-// CHECK: %hlsl.ddx.coarse = call {{.*}} <3 x float> 
@llvm.dx.ddx.coarse.v3f32(<3 x float> %{{.*}})
-// CHECK: ret <3 x float> %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: <3 x float> @_ZN4hlsl8__detail8ddx_implIDv3_fEET_S3_
-// CHECK-SPIRV: %spv.ddx = call {{.*}} <3 x float> @llvm.spv.ddx.v3f32(<3 x 
float> %{{.*}})
-// CHECK-SPIRV: ret <3 x float> %spv.ddx
+// CHECK: %[[VAR]] = call {{.*}} <3 x float> @llvm.[[CALL]].v3f32(<3 x float> 
%{{.*}})
+// CHECK: ret <3 x float> %[[VAR]]
 float3 test_f32_ddx3(float3 val) {
     return ddx(val);
 }
 
 // CHECK-LABEL: define {{.*}} <4 x float> 
@_ZN4hlsl8__detail8ddx_implIDv4_fEET_S3_
-// CHECK: %hlsl.ddx.coarse = call {{.*}} <4 x float> 
@llvm.dx.ddx.coarse.v4f32(<4 x float> %{{.*}})
-// CHECK: ret <4 x float> %hlsl.ddx.coarse
-// CHECK-LABEL-SPIRV: <4 x float> @_ZN4hlsl8__detail8ddx_implIDv4_fEET_S3_
-// CHECK-SPIRV: %spv.ddx = call {{.*}} <4 x float> @llvm.spv.ddx.v4f32(<4 x 
float> %{{.*}})
-// CHECK-SPIRV: ret <4 x float> %spv.ddx
+// CHECK: %[[VAR]] = call {{.*}} <4 x float> @llvm.[[CALL]].v4f32(<4 x float> 
%{{.*}})
+// CHECK: ret <4 x float> %[[VAR]]
 float4 test_f32_ddx4(float4 val) {
     return ddx(val);
 }
diff --git a/clang/test/CodeGenHLSL/builtins/ddy-coarse-builtin.hlsl 
b/clang/test/CodeGenHLSL/builtins/ddy-coarse-builtin.hlsl
index 2967deb75031f..3ab84a1343eaf 100644
--- a/clang/test/CodeGenHLSL/builtins/ddy-coarse-builtin.hlsl
+++ b/clang/test/CodeGenHLSL/builtins/ddy-coarse-builtin.hlsl
@@ -1,26 +1,20 @@
 // RUN: %clang_cc1 -finclude-default-header ...
[truncated]

``````````

</details>


https://github.com/llvm/llvm-project/pull/176609
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to