================
@@ -148,6 +148,22 @@ template <typename T> constexpr T ldexp_impl(T X, T Exp) {
return exp2(Exp) * X;
}
+template <typename T> constexpr T ddx_coarse_impl(T value) {
+#if (__has_builtin(__builtin_spirv_ddx_coarse))
+ return __builtin_spirv_ddx_coarse(value);
+#else
+ return __builtin_hlsl_elementwise_ddx_coarse(value);
+#endif
+}
+
+template <typename T> constexpr T ddy_coarse_impl(T value) {
+#if (__has_builtin(__builtin_spirv_ddy_coarse))
+ return __builtin_spirv_ddy_coarse(value);
+#else
+ return __builtin_hlsl_elementwise_ddy_coarse(value);
+#endif
+}
+
----------------
farzonl wrote:
if you are going to do a `__builtin_hlsl_*` then we don't need target specific
builtins and this should not be a helper but an hlsl alias intrinsic. please
revert all changes to this file.
https://github.com/llvm/llvm-project/pull/164831
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits