https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82196
--- Comment #2 from dansan at gcc dot gnu.org --- Author: dansan Date: Sun Sep 17 22:04:40 2017 New Revision: 252896 URL: https://gcc.gnu.org/viewcvs?rev=252896&root=gcc&view=rev Log: PR target/82196 correct choice of avx/sse stubs for -mcall-ms2sysv-xlogues gcc: config/i386/i386.c: (xlogue_layout::STUB_NAME_MAX_LEN): Increase to 20 bytes. (xlogue_layout::s_stub_names): Add an additional size-2 diminsion. (xlogue_layout::get_stub_name): Modify to select the appropairate sse or avx version of the stub. gcc/testsuite: gcc.target/i386/pr82196-1.c: New test. gcc.target/i386/pr82196-2.c: Likewise. libgcc: config/i386/i386-asm.h (PASTE2): New macro. (ASMNAME): Modify to use PASTE2. (MS2SYSV_STUB_PREFIX): New macro for isa prefix. (MS2SYSV_STUB_BEGIN, MS2SYSV_STUB_END): New macros for stub headers. config/i386/resms64.S: Rename to a header file, use MS2SYSV_STUB_BEGIN instead of HIDDEN_FUNC and MS2SYSV_STUB_END instead of FUNC_END. config/i386/resms64f.S: Likewise. config/i386/resms64fx.S: Likewise. config/i386/resms64x.S: Likewise. config/i386/savms64.S: Likewise. config/i386/savms64f.S: Likewise. config/i386/avx_resms64.S: New file that only defines a macro and includes it's corresponding header file. config/i386/avx_resms64f.S: Likewise. config/i386/avx_resms64fx.S: Likewise. config/i386/avx_resms64x.S: Likewise. config/i386/avx_savms64.S: Likewise. config/i386/avx_savms64f.S: Likewise. config/i386/sse_resms64.S: Likewise. config/i386/sse_resms64f.S: Likewise. config/i386/sse_resms64fx.S: Likewise. config/i386/sse_resms64x.S: Likewise. config/i386/sse_savms64.S: Likewise. config/i386/sse_savms64f.S: Likewise. config/i386/t-msabi: Modified to add avx and sse versions of stubs. Added: trunk/gcc/testsuite/gcc.target/i386/pr82196-1.c trunk/gcc/testsuite/gcc.target/i386/pr82196-2.c trunk/libgcc/config/i386/avx_resms64.S trunk/libgcc/config/i386/avx_resms64f.S trunk/libgcc/config/i386/avx_resms64fx.S trunk/libgcc/config/i386/avx_resms64x.S trunk/libgcc/config/i386/avx_savms64.S trunk/libgcc/config/i386/avx_savms64f.S trunk/libgcc/config/i386/resms64.h - copied, changed from r252895, trunk/libgcc/config/i386/resms64.S trunk/libgcc/config/i386/resms64f.h - copied, changed from r252895, trunk/libgcc/config/i386/resms64f.S trunk/libgcc/config/i386/resms64fx.h - copied, changed from r252895, trunk/libgcc/config/i386/resms64fx.S trunk/libgcc/config/i386/resms64x.h - copied, changed from r252895, trunk/libgcc/config/i386/resms64x.S trunk/libgcc/config/i386/savms64.h - copied, changed from r252895, trunk/libgcc/config/i386/savms64.S trunk/libgcc/config/i386/savms64f.h - copied, changed from r252895, trunk/libgcc/config/i386/savms64f.S trunk/libgcc/config/i386/sse_resms64.S trunk/libgcc/config/i386/sse_resms64f.S trunk/libgcc/config/i386/sse_resms64fx.S trunk/libgcc/config/i386/sse_resms64x.S trunk/libgcc/config/i386/sse_savms64.S trunk/libgcc/config/i386/sse_savms64f.S Removed: trunk/libgcc/config/i386/resms64.S trunk/libgcc/config/i386/resms64f.S trunk/libgcc/config/i386/resms64fx.S trunk/libgcc/config/i386/resms64x.S trunk/libgcc/config/i386/savms64.S trunk/libgcc/config/i386/savms64f.S Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/testsuite/ChangeLog trunk/libgcc/ChangeLog trunk/libgcc/config/i386/i386-asm.h trunk/libgcc/config/i386/t-msabi