gcc/
authorvekumar <vekumar@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Jun 2015 10:02:25 +0000 (10:02 +0000)
committervekumar <vekumar@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Jun 2015 10:02:25 +0000 (10:02 +0000)
commitf17272b746079c64a5d04df752332970ff306a8c
tree0a9a339e76852c5d970db49f392de41b5e33ffdf
parent87bc6151078a36e243cd15a11321ea5b6cc63942
gcc/
2015-06-12  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

        * common/config/i386/i386-common.c
        (OPTION_MASK_ISA_MWAITX_SET): New.
        (ix86_handle_option): Handle mwaitx.
        * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
        (x86_64-*-*): Likewise.
        * config/i386/mwaitxintrin.h: New header.
        * config/i386/cpuid.h (bit_MWAITX):  Define.
        * config/i386/driver-i386.c (host_detect_local_cpu): Detect
        MWAITX support.
        * config/i386/i386.opt (mwaitx): New.
        * config/i386/i386-builtin-types.def
        (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
        * config/i386/i386-c.c: Define __MWAITX__ if needed.
        * config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
        (PTA_MWAITX): New.
        (ix86_option_override_internal): Handle new option.
        (processor_alias_table): Added PTA_MWAITX.
        (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
        (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
        (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
        IX86_BUILTIN_MONITORX  built-ins.
        * config/i386/i386.h (TARGET_MWAITX): New.
        * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
        UNSPEC_MONITORX.
        (mwaitx):  New pattern.
        (monitorx_<mode>): New pattern.
        * config/i386/x86intrin.h: Include mwaitxintrin.h.
        * doc/extend.texi: Document monitorx and mwaitx builtins.
        * doc/invoke.texi: Document -mmwaitx option.

gcc/testsuite

2015-06-12  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

        * gcc.target/i386/monitorx.c: New.
        * gcc.target/i386/sse-12.c: Add -mmwaitx.
        * gcc.target/i386/sse-13.c: Ditto.
        * gcc.target/i386/sse-14.c: Ditto.
        * gcc.target/i386/sse-22.c: Ditto.
        * gcc.target/i386/sse-23.c: Ditto.
        * g++.dg/other/i386-2.C: Ditto.
        * g++.dg/other/i386-3.C: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224414 138bc75d-0d04-0410-961f-82ee72b054a4
23 files changed:
gcc/ChangeLog
gcc/common/config/i386/i386-common.c
gcc/config.gcc
gcc/config/i386/cpuid.h
gcc/config/i386/driver-i386.c
gcc/config/i386/i386-builtin-types.def
gcc/config/i386/i386-c.c
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.md
gcc/config/i386/i386.opt
gcc/config/i386/mwaitxintrin.h [new file with mode: 0644]
gcc/config/i386/x86intrin.h
gcc/doc/extend.texi
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/other/i386-2.C
gcc/testsuite/g++.dg/other/i386-3.C
gcc/testsuite/gcc.target/i386/monitorx.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sse-12.c
gcc/testsuite/gcc.target/i386/sse-13.c
gcc/testsuite/gcc.target/i386/sse-14.c
gcc/testsuite/gcc.target/i386/sse-23.c