================
@@ -207,9 +207,8 @@ _mm512_undefined(void)
return (__m512)__builtin_ia32_undef512();
}
-static __inline__ __m512 __DEFAULT_FN_ATTRS512
-_mm512_undefined_ps(void)
-{
+static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_undefined_ps(void) {
----------------
RKSimon wrote:
No, the _mm*_undefined_ps intrinsics are there to indicate there are undefined
elements and I'm very reluctant to allow them to canonicalize to a fixed
constant value - I do not want to be in a position where we start getting a lot
of reports about constexpr and runtime code giving different results. For now I
think just focusing on the SSE/AVX builtins is the way to go - we have various
other avx512 intrinsics that are still causing trouble so adding these to the
pile isn't a problem.
But _mm512_cvtpd_ps can be addressed by replacing _mm256_undefined_ps with
_mm256_setzero_ps which should help at least some cases.
https://github.com/llvm/llvm-project/pull/169980
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits