================
@@ -140,6 +140,16 @@ void asuint(matrix<double, R, C>, out matrix<uint, R, C>,
 
 #ifdef __HLSL_ENABLE_16_BIT
 
+template <typename T, int R, int C>
+_HLSL_16BIT_AVAILABILITY(shadermodel, 6.2)
+constexpr __detail::enable_if_t<__detail::is_same<int16_t, T>::value ||
+                                    __detail::is_same<uint16_t, T>::value ||
+                                    __detail::is_same<half, T>::value,
+                                matrix<int16_t, R, C>> asuint16(matrix<T, R, C>
----------------
joaosaffran wrote:

The return here should be `matrix<uint16_t, R, C>` instead, according to issue 
https://github.com/llvm/llvm-project/issues/184475.

The CodeGen tests hide this because their wrappers return `uint16_t4x4`, 
converting the result back to unsigned, so we should update those as well.

https://github.com/llvm/llvm-project/pull/234576
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to