[clang] [llvm] Adding splitdouble HLSL function (PR #109331)

Farzon Lotfi via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 22 10:00:47 PDT 2024


================
@@ -0,0 +1,15 @@
+; RUN: not opt -S -dxil-op-lower -mtriple=dxil-pc-shadermodel6.3-library %s 2>&1 | FileCheck %s
+
+; DXIL operation splitdouble doesn't support vector types.
+
+define noundef <3 x i32> @test_vector_double_split(<3 x double> noundef %D) local_unnamed_addr {
+entry:
+  ; CHECK: Cannot create SplitDouble operation: Invalid overload type
+  %hlsl.splitdouble = call { <3 x i32>, <3 x i32> } @llvm.dx.splitdouble.v3i32(<3 x double> %D)
----------------
farzonl wrote:

Sorry for the misunderstanding. What I meant was we won't need this test anymore. There shouldn't be a case where we do `dxil-op-lower` without the scalarization pass.

What I wan't is for the test I added in `split-double.ll` to be consolidated into your splitdouble.ll tests and then you delete the `split-double.ll` file.

https://github.com/llvm/llvm-project/pull/109331


More information about the llvm-commits mailing list