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
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to