[Bug target/84926] error: inlining failed in call to always_inline ‘_mm_crc32_u64’: target specific option mismatch _mm_crc32_u64

marxin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Mar 18 20:12:00 GMT 2018


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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |RESOLVED
         Resolution|---                         |INVALID

--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
The issue is that it uses always_inline for a function that uses -msse3 and you
use -march=native and -mtune=generic.

If I configure postgres with :
CFLAGS="-mtune=generic -march=x86-64"
CXXFLAGS=...
LDFLAGS=...

then it builds fine. The file should not be built with the flags.
Clang has nicer error message:
 error: always_inline function '_mm_crc32_u64' requires target feature 'ssse3',
but would be inlined into function 'pg_comp_crc32c_sse42' that is compiled
without support for 'ssse3'


More information about the Gcc-bugs mailing list