================
@@ -0,0 +1,29 @@
+; RUN: not opt -S -dxil-op-lower -mtriple=dxil-pc-shadermodel6.3-library %s
2>&1 | FileCheck --check-prefixes=CHECK-TYPE %s
+; RUN: not opt -S -dxil-op-lower -mtriple=dxil-pc-shadermodel6.3-compute %s
2>&1 | FileCheck --check-prefixes=CHECK-STAGE %s
+
+; DXIL operation ddx.fine does not support double overload type
+; CHECK-TYPE: in function ddx.fine
+; CHECK-TYPE-SAME: Cannot create DerivFineX operation: Invalid overload type
+
+; Function Attrs: noinline nounwind optnone
+define noundef double @ddx.fine_double(double noundef %a) #0 {
+entry:
+ %a.addr = alloca double, align 8
+ store double %a, ptr %a.addr, align 8
+ %0 = load double, ptr %a.addr, align 8
+ %dx.ddx.fine = call double @llvm.dx.ddx.fine.f64(double %0)
+ ret double %dx.ddx.fine
+}
+
+; DXIL operation ddx.fine does not support compute shader stage
----------------
Alexander-Johnston wrote:
Thank you, I wasn't aware they had been updated to include this. Given there's
already 2 other PRs for this group of derivative intrinsics merged would it be
worth instead creating a new issue to implement the additional variants added
in SM6.6?
The original tickets this PR targets only covered the pixel shader version of
the intrinsic, which was also the only version I found listed in
https://github.com/MicrosoftDocs/win32/blob/docs/desktop-src//direct3dhlsl/dx-graphics-hlsl-intrinsic-functions.md.
I'll look more thoroughly through the doc site you posted in future.
https://github.com/llvm/llvm-project/pull/168874
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits