https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111051

--- Comment #1 from Sergei Trofimovich <slyfox at gcc dot gnu.org> ---
Found this difference, looks reasonable?

// $ cat a.cc
#include <immintrin.h>

#pragma GCC target("avx512vl,avx512dq")

void bug(__m256i i) {
   volatile auto v1 = _mm256_cvtepi64_pd(i);
}

Difference:

$ g++-13 -c a.cc
# ok

$ g++-14 -c a.cc
In file included from
/<<NIX>>/gcc-14.0.0/lib/gcc/x86_64-unknown-linux-gnu/14.0.0/include/immintrin.h:71,
                 from a.cc:1:
/<<NIX>>/gcc-14.0.0/lib/gcc/x86_64-unknown-linux-gnu/14.0.0/include/avx512vldqintrin.h:
In function '__m256d _mm256_cvtepi64_pd(__m256i)':
/<<NIX>>/gcc-14.0.0/lib/gcc/x86_64-unknown-linux-gnu/14.0.0/include/avx512vldqintrin.h:910:1:
note: the ABI for passing parameters with 32-byte alignment has changed in GCC
4.6
  910 | _mm256_cvtepi64_pd (__m256i __A)
      | ^~~~~~~~~~~~~~~~~~
a.cc:7:1: warning: AVX vector return without AVX enabled changes the ABI
[-Wpsabi]
    7 | }
      | ^
In file included from
/<<NIX>>/gcc-14.0.0/lib/gcc/x86_64-unknown-linux-gnu/14.0.0/include/immintrin.h:43:
/<<NIX>>/gcc-14.0.0/lib/gcc/x86_64-unknown-linux-gnu/14.0.0/include/avxintrin.h:1238:1:
error: inlining failed in call to 'always_inline' '__m256d
_mm256_setzero_pd()': target specific option mismatch
 1238 | _mm256_setzero_pd (void)
      | ^~~~~~~~~~~~~~~~~
/<<NIX>>/gcc-14.0.0/lib/gcc/x86_64-unknown-linux-gnu/14.0.0/include/avx512vldqintrin.h:912:10:
note: called from here
  912 |   return (__m256d) __builtin_ia32_cvtqq2pd256_mask ((__v4di) __A,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  913 |                                                     (__v4df)
      |                                                     ~~~~~~~~
  914 |                                                     _mm256_setzero_pd
(),
      |                                                    
~~~~~~~~~~~~~~~~~~~~~
  915 |                                                     (__mmask8) -1);
      |                                                     ~~~~~~~~~~~~~~

Reply via email to