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

--- Comment #44 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> ---
Author: hjl
Date: Wed May 15 15:32:33 2019
New Revision: 271252

URL: https://gcc.gnu.org/viewcvs?rev=271252&root=gcc&view=rev
Log:
i386: Allow MMX intrinsic emulation with SSE

Allow MMX intrinsic emulation with SSE/SSE2/SSSE3.  Don't enable MMX ISA
by default with TARGET_MMX_WITH_SSE.

For pr82483-1.c and pr82483-2.c, "-mssse3 -mno-mmx" compiles in 64-bit
mode since MMX intrinsics can be emulated wit SSE.

gcc/

        PR target/89021
        * config/i386/i386-builtin.def: Enable MMX intrinsics with
        SSE/SSE2/SSSE3.
        * config/i386/i386-builtins.c (ix86_init_mmx_sse_builtins):
        Likewise.
        * config/i386/i386-expand.c (ix86_expand_builtin): Allow
        SSE/SSE2/SSSE3 to emulate MMX intrinsics with TARGET_MMX_WITH_SSE.
        * config/i386/mmintrin.h: Only require SSE2 if __MMX_WITH_SSE__
        is defined.

gcc/testsuite/

        PR target/89021
        * gcc.target/i386/pr82483-1.c: Error only on ia32.
        * gcc.target/i386/pr82483-2.c: Likewise.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386-builtin.def
    trunk/gcc/config/i386/i386-builtins.c
    trunk/gcc/config/i386/i386-expand.c
    trunk/gcc/config/i386/mmintrin.h
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/i386/pr82483-1.c
    trunk/gcc/testsuite/gcc.target/i386/pr82483-2.c

Reply via email to