phosek added a comment.
This change broke our kernel build. I believe that the issue is that the
compiler doesn't consider function attributes.
This can be trivially reproduced as:
$ cat >t.c <<EOF
#include <x86intrin.h>
EOF
$ ./bin/clang -c t.c -o t.o -mno-sse
In file included from t.c:1:
In file included from
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/x86intrin.h:13:
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/ia32intrin.h:251:1:
error: SSE register return with SSE disabled
_castu32_f32(unsigned int __A) {
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/ia32intrin.h:251:1:
note: '_castu32_f32' defined here
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/ia32intrin.h:266:1:
error: SSE register return with SSE disabled
_castu64_f64(unsigned long long __A) {
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/ia32intrin.h:266:1:
note: '_castu64_f64' defined here
In file included from t.c:1:
In file included from
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/x86intrin.h:15:
In file included from
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/immintrin.h:26:
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/xmmintrin.h:1607:1:
error: SSE register return with SSE disabled
_mm_cvtss_f32(__m128 __a)
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/xmmintrin.h:1607:1:
note: '_mm_cvtss_f32' defined here
In file included from t.c:1:
In file included from
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/x86intrin.h:15:
In file included from
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/immintrin.h:31:
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/emmintrin.h:1566:1:
error: SSE register return with SSE disabled
_mm_cvtsd_f64(__m128d __a)
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/emmintrin.h:1566:1:
note: '_mm_cvtsd_f64' defined here
In file included from t.c:1:
In file included from
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/x86intrin.h:15:
In file included from
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/immintrin.h:66:
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avxintrin.h:2257:1:
error: SSE register return with SSE disabled
_mm256_cvtsd_f64(__m256d __a)
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avxintrin.h:2257:1:
note: '_mm256_cvtsd_f64' defined here
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avxintrin.h:2290:1:
error: SSE register return with SSE disabled
_mm256_cvtss_f32(__m256 __a)
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avxintrin.h:2290:1:
note: '_mm256_cvtss_f32' defined here
In file included from t.c:1:
In file included from
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/x86intrin.h:15:
In file included from
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/immintrin.h:76:
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/f16cintrin.h:39:1:
error: SSE register return with SSE disabled
_cvtsh_ss(unsigned short __a)
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/f16cintrin.h:39:1:
note: '_cvtsh_ss' defined here
In file included from t.c:1:
In file included from
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/x86intrin.h:15:
In file included from
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/immintrin.h:104:
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:4090:1:
error: SSE register return with SSE disabled
_mm512_cvtsd_f64(__m512d __a)
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:4090:1:
note: '_mm512_cvtsd_f64' defined here
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:4096:1:
error: SSE register return with SSE disabled
_mm512_cvtss_f32(__m512 __a)
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:4096:1:
note: '_mm512_cvtss_f32' defined here
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9358:10:
error: SSE register return with SSE disabled
return __builtin_ia32_reduce_fadd_pd512(-0.0, __W);
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9358:10:
note: '__builtin_ia32_reduce_fadd_pd512' defined here
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9357:48:
error: SSE register return with SSE disabled
static __inline__ double __DEFAULT_FN_ATTRS512 _mm512_reduce_add_pd(__m512d
__W) {
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9357:48:
note: '_mm512_reduce_add_pd' defined here
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9362:10:
error: SSE register return with SSE disabled
return __builtin_ia32_reduce_fmul_pd512(1.0, __W);
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9362:10:
note: '__builtin_ia32_reduce_fmul_pd512' defined here
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9361:48:
error: SSE register return with SSE disabled
static __inline__ double __DEFAULT_FN_ATTRS512 _mm512_reduce_mul_pd(__m512d
__W) {
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9361:48:
note: '_mm512_reduce_mul_pd' defined here
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9366:1:
error: SSE register return with SSE disabled
_mm512_mask_reduce_add_pd(__mmask8 __M, __m512d __W) {
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9366:1:
note: '_mm512_mask_reduce_add_pd' defined here
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9372:1:
error: SSE register return with SSE disabled
_mm512_mask_reduce_mul_pd(__mmask8 __M, __m512d __W) {
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9372:1:
note: '_mm512_mask_reduce_mul_pd' defined here
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9423:10:
error: SSE register return with SSE disabled
return __builtin_ia32_reduce_fadd_ps512(-0.0f, __W);
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9423:10:
note: '__builtin_ia32_reduce_fadd_ps512' defined here
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9422:1:
error: SSE register return with SSE disabled
_mm512_reduce_add_ps(__m512 __W) {
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9422:1:
note: '_mm512_reduce_add_ps' defined here
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9428:10:
error: SSE register return with SSE disabled
return __builtin_ia32_reduce_fmul_ps512(1.0f, __W);
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9428:10:
note: '__builtin_ia32_reduce_fmul_ps512' defined here
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9427:1:
error: SSE register return with SSE disabled
_mm512_reduce_mul_ps(__m512 __W) {
^
/src/clang-llvm/llvm-build/fuchsia/lib/clang/14.0.0/include/avx512fintrin.h:9427:1:
note: '_mm512_reduce_mul_ps' defined here
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
Would it be possible to revert the change?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D114782/new/
https://reviews.llvm.org/D114782
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits