================
@@ -0,0 +1,152 @@
+// RUN: %clang_cc1 -finclude-default-header -fnative-half-type -triple \
+// RUN: dxil-pc-shadermodel6.3-compute %s -emit-llvm -o - | \
+// RUN: FileCheck %s --check-prefixes=CHECK,CHECK-DXIL
+// RUN: %clang_cc1 -finclude-default-header -fnative-half-type -triple \
+// RUN: spirv-pc-vulkan-compute %s -emit-llvm -o - | \
+// RUN: FileCheck %s --check-prefixes=CHECK,CHECK-SPIRV
+
+// Test basic lowering to runtime function call.
+
+// CHECK-LABEL: define {{.*}}test_default_parameter_type
+float test_default_parameter_type(half2 p1, half2 p2, float p3) {
+ // CHECK-SPIRV: %[[MUL:.*]] = call reassoc nnan ninf nsz arcp afn half
@llvm.spv.fdot.v2f16(<2 x half> %7, <2 x half> %8)
+ // CHECK-SPIRV: %[[CONV:.*]] = fpext reassoc nnan ninf nsz arcp afn half
%[[MUL]] to float
+ // CHECK-SPIRV: %[[C:.*]] = load float, ptr %c.addr.i, align 4
+ // CHECK-SPIRV: %[[RES:.*]] = fadd reassoc nnan ninf nsz arcp afn float
%[[CONV]], %[[C]]
+ // CHECK-DXIL: %[[RES:.*]] = call {{.*}} float @llvm.dx.dot2add.v2f16(<2 x
half> %6, <2 x half> %7, float %8)
----------------
farzonl wrote:
We don't typically lile to capture the register arguments because doing so can
make the tests brittle to future changes and force updates if a register name
changes instead do what sarah is doing here:
https://github.com/llvm/llvm-project/pull/133941/files `{{.*}}`.
```suggestion
// CHECK-DXIL: %[[RES:.*]] = call {{.*}} float @llvm.dx.dot2add.v2f16(<2 x
half> %{{.*}}, <2 x half> %{{.*}}, float %{{.*}})
```
https://github.com/llvm/llvm-project/pull/131237
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits