i386: Don't pass -msse2avx to assembler for -mavx
authorH.J. Lu <hongjiu.lu@intel.com>
Fri, 5 Oct 2018 11:29:44 +0000 (11:29 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Fri, 5 Oct 2018 11:29:44 +0000 (04:29 -0700)
commitae36de91537f1568e0f50bd55b5b976b8289cdc1
treee4482cf1bd396baa0cd4c01523b536a34acf5280
parent49022a8b837e77020b0e03ce8b9c70e67bd59872
i386: Don't pass -msse2avx to assembler for -mavx

With

gcc -O2 -fPIC -flto -g -c -o a.o a.c
gcc -O2 -fPIC -flto -g -mavx   -c -o b.o b.c
gcc -shared -O2 -fPIC -flto -g -o lib1.so a.o b.o

LTO correctly generates AVX for b.o and SSE for a.o.  But the GCC driver
passes -msse2avx to assembler, which encodes SSE instructions as AVX
instructions.  We shouldn't pass -msse2avx to assembler for -mavx.

PR target/87522
* config/i386/gnu-user.h (ASM_SPEC): Don't pass -msse2avx to
assembler for -mavx.
* config/i386/gnu-user64.h (ASM_SPEC): Likewise.

From-SVN: r264864
gcc/ChangeLog
gcc/config/i386/gnu-user.h
gcc/config/i386/gnu-user64.h