[clang] [llvm] [HLSL] Implementation of dot intrinsic (PR #81190)
David Peixotto via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 13 08:41:57 PST 2024
================
@@ -0,0 +1,202 @@
+// RUN: %clang_cc1 -std=hlsl2021 -finclude-default-header -x hlsl -triple \
+// RUN: dxil-pc-shadermodel6.3-library %s -fnative-half-type \
+// RUN: -emit-llvm -disable-llvm-passes -O3 -o - | FileCheck %s
+// RUN: %clang_cc1 -std=hlsl2021 -finclude-default-header -x hlsl -triple \
+// RUN: dxil-pc-shadermodel6.3-library %s -emit-llvm -disable-llvm-passes \
+// RUN: -D__HLSL_ENABLE_16_BIT -o - | FileCheck %s --check-prefix=NO_HALF
----------------
dmpots wrote:
I am having a hard time seeing the difference between the `CHECK` and `NO_HALF` checks below. It looks like a lot of them are the same.
>From the command line it looks like the difference is the `-fnative-half-type` flag which means that only the `half` tests should be different. I think in this case it is better to organize the check lines in a way that highlights those differences.
I would suggest using 3 check prefixes like `CHECK`, `NATIVE_HALF`, `NO_HALF`. The CHECK prefix will be common to both run lines and the two half ones will depend on the native-half-type flag.
```
RUN: clang ... -fnative-half-type ... | FileCheck %s -check-prefixes=CHECK,NATIVE_HALF
RUN: clang ... ... | FileCheck %s -check-prefixes=CHECK,NO_HALF
```
That way you only need to use the NATIVE_HALF and NO_HALF check prefixes when there should be actual differences between them.
https://github.com/llvm/llvm-project/pull/81190
More information about the llvm-commits
mailing list