llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang Author: Amr Hesham (AmrDeveloper) <details> <summary>Changes</summary> Update all hybird DXIL/SPIRV codegen tests to use temp variable representing interchange target Fixes: #<!-- -->105710 --- Patch is 101.99 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/105930.diff 20 Files Affected: - (modified) clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl (+1-1) - (modified) clang/test/CodeGenHLSL/GlobalConstructors.hlsl (+1-1) - (modified) clang/test/CodeGenHLSL/GlobalDestructors.hlsl (+1-1) - (modified) clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl (+5-4) - (modified) clang/test/CodeGenHLSL/builtins/all.hlsl (+88-88) - (modified) clang/test/CodeGenHLSL/builtins/any.hlsl (+88-88) - (modified) clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl (+1-1) - (modified) clang/test/CodeGenHLSL/builtins/clamp.hlsl (+40-40) - (modified) clang/test/CodeGenHLSL/builtins/create_handle.hlsl (+1-1) - (modified) clang/test/CodeGenHLSL/builtins/frac.hlsl (+24-24) - (modified) clang/test/CodeGenHLSL/builtins/isinf.hlsl (+12-12) - (modified) clang/test/CodeGenHLSL/builtins/length.hlsl (+9-9) - (modified) clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl (+2-2) - (modified) clang/test/CodeGenHLSL/builtins/lerp.hlsl (+30-30) - (modified) clang/test/CodeGenHLSL/builtins/mad.hlsl (+24-24) - (modified) clang/test/CodeGenHLSL/builtins/normalize.hlsl (+24-24) - (modified) clang/test/CodeGenHLSL/builtins/rsqrt.hlsl (+24-24) - (modified) clang/test/CodeGenHLSL/builtins/saturate.hlsl (+32-32) - (modified) clang/test/CodeGenHLSL/semantics/DispatchThreadID.hlsl (+6-6) - (modified) clang/test/CodeGenHLSL/semantics/GroupIndex-codegen.hlsl (+1-1) ``````````diff diff --git a/clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl b/clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl index f954c9d2f029f2..6856cccb3fc3eb 100644 --- a/clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl +++ b/clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl @@ -25,7 +25,7 @@ void main(unsigned GI : SV_GroupIndex) {} //CHECK-NEXT: entry: //CHECK-NEXT: call void @"?call_me_first@@YAXXZ"() //CHECK-NEXT: call void @"?then_call_me@@YAXXZ"() -//CHECK-NEXT: %0 = call i32 @llvm.dx.flattened.thread.id.in.group() +//CHECK-NEXT: %0 = call i32 @llvm.[[ICF:dx]].flattened.thread.id.in.group() //CHECK-NEXT: call void @"?main@@YAXI@Z"(i32 %0) //CHECK-NEXT: call void @"?call_me_last@@YAXXZ"( //CHECK-NEXT: ret void diff --git a/clang/test/CodeGenHLSL/GlobalConstructors.hlsl b/clang/test/CodeGenHLSL/GlobalConstructors.hlsl index 7e2f288726c954..676a24b2467c18 100644 --- a/clang/test/CodeGenHLSL/GlobalConstructors.hlsl +++ b/clang/test/CodeGenHLSL/GlobalConstructors.hlsl @@ -11,6 +11,6 @@ void main(unsigned GI : SV_GroupIndex) {} //CHECK: define void @main() //CHECK-NEXT: entry: //CHECK-NEXT: call void @_GLOBAL__sub_I_GlobalConstructors.hlsl() -//CHECK-NEXT: %0 = call i32 @llvm.dx.flattened.thread.id.in.group() +//CHECK-NEXT: %0 = call i32 @llvm.[[ICF:dx]].flattened.thread.id.in.group() //CHECK-NEXT: call void @"?main@@YAXI@Z"(i32 %0) //CHECK-NEXT: ret void diff --git a/clang/test/CodeGenHLSL/GlobalDestructors.hlsl b/clang/test/CodeGenHLSL/GlobalDestructors.hlsl index 24c3c039fc6192..d98a54bbc49fe8 100644 --- a/clang/test/CodeGenHLSL/GlobalDestructors.hlsl +++ b/clang/test/CodeGenHLSL/GlobalDestructors.hlsl @@ -52,7 +52,7 @@ void main(unsigned GI : SV_GroupIndex) { //CHECK: define void @main() //CHECK-NEXT: entry: //CHECK-NEXT: call void @_GLOBAL__sub_I_GlobalDestructors.hlsl() -//CHECK-NEXT: %0 = call i32 @llvm.dx.flattened.thread.id.in.group() +//CHECK-NEXT: %0 = call i32 @llvm.[[ICF:dx]].flattened.thread.id.in.group() //CHECK-NEXT: call void @"?main@@YAXI@Z"(i32 %0) //CHECK-NEXT: call void @_GLOBAL__D_a() //CHECK-NEXT: ret void diff --git a/clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl b/clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl index e51eac7f57c2d3..1a2e9aa490709c 100644 --- a/clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl +++ b/clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl @@ -1,12 +1,13 @@ -// RUN: %clang_cc1 -triple spirv-vulkan-library -x hlsl -emit-llvm -disable-llvm-passes -o - %s | FileCheck %s --check-prefix=CHECK-SPIRV +// RUN: %clang_cc1 -triple dxil-pc-shadermodel6.3-library -x hlsl -emit-llvm -disable-llvm-passes -o - %s | FileCheck %s --check-prefixes=DXCHECK + +// RUN: %clang_cc1 -triple spirv-vulkan-library -x hlsl -emit-llvm -disable-llvm-passes -o - %s | FileCheck %s --check-prefixes=SPVCHECK RWBuffer<float> Buf; // CHECK: define linkonce_odr noundef ptr @"??0?$RWBuffer@M@hlsl@@QAA@XZ" // CHECK-NEXT: entry: -// CHECK: %[[HandleRes:[0-9]+]] = call ptr @llvm.dx.create.handle(i8 1) +// DXCHECK: %[[HandleRes:[0-9]+]] = call ptr @llvm.[[ICF:dx]].create.handle(i8 1) +// SPVCHECK: %[[HandleRes:[0-9]+]] = call ptr @llvm.[[ICF:spv]].create.handle(i8 1) // CHECK: store ptr %[[HandleRes]], ptr %h, align 4 -// CHECK-SPIRV: %[[HandleRes:[0-9]+]] = call ptr @llvm.spv.create.handle(i8 1) -// CHECK-SPIRV: store ptr %[[HandleRes]], ptr %h, align 8 diff --git a/clang/test/CodeGenHLSL/builtins/all.hlsl b/clang/test/CodeGenHLSL/builtins/all.hlsl index b48daa287480ff..5907584b639b6c 100644 --- a/clang/test/CodeGenHLSL/builtins/all.hlsl +++ b/clang/test/CodeGenHLSL/builtins/all.hlsl @@ -16,262 +16,262 @@ #ifdef __HLSL_ENABLE_16_BIT // DXIL_NATIVE_HALF: define noundef i1 @ // SPIR_NATIVE_HALF: define spir_func noundef i1 @ -// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.dx.all.i16 -// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.spv.all.i16 +// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.i16 +// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.i16 // NATIVE_HALF: ret i1 %hlsl.all bool test_all_int16_t(int16_t p0) { return all(p0); } // DXIL_NATIVE_HALF: define noundef i1 @ // SPIR_NATIVE_HALF: define spir_func noundef i1 @ -// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.dx.all.v2i16 -// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.spv.all.v2i16 +// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v2i16 +// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v2i16 // NATIVE_HALF: ret i1 %hlsl.all bool test_all_int16_t2(int16_t2 p0) { return all(p0); } // DXIL_NATIVE_HALF: define noundef i1 @ // SPIR_NATIVE_HALF: define spir_func noundef i1 @ -// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.dx.all.v3i16 -// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.spv.all.v3i16 +// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v3i16 +// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v3i16 // NATIVE_HALF: ret i1 %hlsl.all bool test_all_int16_t3(int16_t3 p0) { return all(p0); } // DXIL_NATIVE_HALF: define noundef i1 @ // SPIR_NATIVE_HALF: define spir_func noundef i1 @ -// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.dx.all.v4i16 -// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.spv.all.v4i16 +// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v4i16 +// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v4i16 // NATIVE_HALF: ret i1 %hlsl.all bool test_all_int16_t4(int16_t4 p0) { return all(p0); } // DXIL_NATIVE_HALF: define noundef i1 @ // SPIR_NATIVE_HALF: define spir_func noundef i1 @ -// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.dx.all.i16 -// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.spv.all.i16 +// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.i16 +// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.i16 // NATIVE_HALF: ret i1 %hlsl.all bool test_all_uint16_t(uint16_t p0) { return all(p0); } // DXIL_NATIVE_HALF: define noundef i1 @ // SPIR_NATIVE_HALF: define spir_func noundef i1 @ -// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.dx.all.v2i16 -// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.spv.all.v2i16 +// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v2i16 +// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v2i16 // NATIVE_HALF: ret i1 %hlsl.all bool test_all_uint16_t2(uint16_t2 p0) { return all(p0); } // DXIL_NATIVE_HALF: define noundef i1 @ // SPIR_NATIVE_HALF: define spir_func noundef i1 @ -// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.dx.all.v3i16 -// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.spv.all.v3i16 +// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v3i16 +// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v3i16 // NATIVE_HALF: ret i1 %hlsl.all bool test_all_uint16_t3(uint16_t3 p0) { return all(p0); } // DXIL_NATIVE_HALF: define noundef i1 @ // SPIR_NATIVE_HALF: define spir_func noundef i1 @ -// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.dx.all.v4i16 -// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.spv.all.v4i16 +// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v4i16 +// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v4i16 // NATIVE_HALF: ret i1 %hlsl.all bool test_all_uint16_t4(uint16_t4 p0) { return all(p0); } #endif // __HLSL_ENABLE_16_BIT // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.dx.all.f16 -// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.spv.all.f16 -// DXIL_NO_HALF: %hlsl.all = call i1 @llvm.dx.all.f32 -// SPIR_NO_HALF: %hlsl.all = call i1 @llvm.spv.all.f32 +// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.f16 +// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.f16 +// DXIL_NO_HALF: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.f32 +// SPIR_NO_HALF: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.f32 // CHECK: ret i1 %hlsl.all bool test_all_half(half p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.dx.all.v2f16 -// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.spv.all.v2f16 -// DXIL_NO_HALF: %hlsl.all = call i1 @llvm.dx.all.v2f32 -// SPIR_NO_HALF: %hlsl.all = call i1 @llvm.spv.all.v2f32 +// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v2f16 +// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v2f16 +// DXIL_NO_HALF: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v2f32 +// SPIR_NO_HALF: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v2f32 // CHECK: ret i1 %hlsl.all bool test_all_half2(half2 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.dx.all.v3f16 -// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.spv.all.v3f16 -// DXIL_NO_HALF: %hlsl.all = call i1 @llvm.dx.all.v3f32 -// SPIR_NO_HALF: %hlsl.all = call i1 @llvm.spv.all.v3f32 +// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v3f16 +// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v3f16 +// DXIL_NO_HALF: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v3f32 +// SPIR_NO_HALF: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v3f32 // CHECK: ret i1 %hlsl.all bool test_all_half3(half3 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.dx.all.v4f16 -// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.spv.all.v4f16 -// DXIL_NO_HALF: %hlsl.all = call i1 @llvm.dx.all.v4f32 -// SPIR_NO_HALF: %hlsl.all = call i1 @llvm.spv.all.v4f32 +// DXIL_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v4f16 +// SPIR_NATIVE_HALF: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v4f16 +// DXIL_NO_HALF: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v4f32 +// SPIR_NO_HALF: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v4f32 // CHECK: ret i1 %hlsl.all bool test_all_half4(half4 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.f32 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.f32 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.f32 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.f32 // CHECK: ret i1 %hlsl.all bool test_all_float(float p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v2f32 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v2f32 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v2f32 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v2f32 // CHECK: ret i1 %hlsl.all bool test_all_float2(float2 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v3f32 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v3f32 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v3f32 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v3f32 // CHECK: ret i1 %hlsl.all bool test_all_float3(float3 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v4f32 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v4f32 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v4f32 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v4f32 // CHECK: ret i1 %hlsl.all bool test_all_float4(float4 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.f64 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.f64 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.f64 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.f64 // CHECK: ret i1 %hlsl.all bool test_all_double(double p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v2f64 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v2f64 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v2f64 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v2f64 // CHECK: ret i1 %hlsl.all bool test_all_double2(double2 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v3f64 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v3f64 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v3f64 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v3f64 // CHECK: ret i1 %hlsl.all bool test_all_double3(double3 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v4f64 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v4f64 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v4f64 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v4f64 // CHECK: ret i1 %hlsl.all bool test_all_double4(double4 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.i32 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.i32 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.i32 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.i32 // CHECK: ret i1 %hlsl.all bool test_all_int(int p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v2i32 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v2i32 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v2i32 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v2i32 // CHECK: ret i1 %hlsl.all bool test_all_int2(int2 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v3i32 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v3i32 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v3i32 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v3i32 // CHECK: ret i1 %hlsl.all bool test_all_int3(int3 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v4i32 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v4i32 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v4i32 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v4i32 // CHECK: ret i1 %hlsl.all bool test_all_int4(int4 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.i32 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.i32 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.i32 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.i32 // CHECK: ret i1 %hlsl.all bool test_all_uint(uint p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v2i32 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v2i32 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v2i32 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v2i32 // CHECK: ret i1 %hlsl.all bool test_all_uint2(uint2 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v3i32 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v3i32 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v3i32 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v3i32 // CHECK: ret i1 %hlsl.all bool test_all_uint3(uint3 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v4i32 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v4i32 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v4i32 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v4i32 // CHECK: ret i1 %hlsl.all bool test_all_uint4(uint4 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.i64 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.i64 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.i64 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.i64 // CHECK: ret i1 %hlsl.all bool test_all_int64_t(int64_t p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v2i64 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v2i64 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v2i64 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v2i64 // CHECK: ret i1 %hlsl.all bool test_all_int64_t2(int64_t2 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v3i64 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v3i64 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v3i64 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v3i64 // CHECK: ret i1 %hlsl.all bool test_all_int64_t3(int64_t3 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v4i64 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v4i64 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v4i64 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v4i64 // CHECK: ret i1 %hlsl.all bool test_all_int64_t4(int64_t4 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.i64 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.i64 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.i64 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.i64 // CHECK: ret i1 %hlsl.all bool test_all_uint64_t(uint64_t p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v2i64 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v2i64 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v2i64 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v2i64 // CHECK: ret i1 %hlsl.all bool test_all_uint64_t2(uint64_t2 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v3i64 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v3i64 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v3i64 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v3i64 // CHECK: ret i1 %hlsl.all bool test_all_uint64_t3(uint64_t3 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v4i64 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v4i64 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v4i64 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v4i64 // CHECK: ret i1 %hlsl.all bool test_all_uint64_t4(uint64_t4 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.i1 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.i1 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.i1 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.i1 // CHECK: ret i1 %hlsl.all bool test_all_bool(bool p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hlsl.all = call i1 @llvm.dx.all.v2i1 -// SPIR_CHECK: %hlsl.all = call i1 @llvm.spv.all.v2i1 +// DXIL_CHECK: %hlsl.all = call i1 @llvm.[[ICF:dx]].all.v2i1 +// SPIR_CHECK: %hlsl.all = call i1 @llvm.[[ICF:spv]].all.v2i1 // CHECK: ret i1 %hlsl.all bool test_all_bool2(bool2 p0) { return all(p0); } // DXIL_CHECK: define noundef i1 @ // SPIR_CHECK: define spir_func noundef i1 @ -// DXIL_CHECK: %hl... [truncated] `````````` </details> https://github.com/llvm/llvm-project/pull/105930 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits