================
@@ -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
----------------
bogner wrote:
Yes, that sounds reasonable to me.
https://github.com/llvm/llvm-project/pull/168874
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits