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

Reply via email to