ChangeLog entry:
authorkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Mar 2012 09:59:25 +0000 (09:59 +0000)
committerkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Mar 2012 09:59:25 +0000 (09:59 +0000)
commitbce88dc2483fba98ca866e759c22b7cc68814f3f
tree5a61f4517f4666572922eb52e3006ce94cb7ece8
parentcaa3ea403f7b4b8dca1e0ed31377f7a45931de16
ChangeLog entry:
  * doc/invoke.texi: Document -mrtm option.
  * common/config/i386/i386-common.c (OPTION_MASK_ISA_RTM_SET):
  New.
  (OPTION_MASK_ISA_RTM_UNSET): Ditto.
  (ix86_handle_option): Handle OPT_mrtm.
  * config.gcc (i[34567]86-*-*): Add rtmintrin.h and
  xtestintrin.h.
  (x86_64-*-*): Ditto.
  * i386-builtin-types.def (INT_FTYPE_VOID): New.
  * config/i386/i386-c.c (ix86_target_macros_internal): Define
  __RTM__ if needed.
  (ix86_target_string): Define -mrtm option.
  (PTA_RTM): New.
  (ix86_option_override_internal): Extend "corei7-avx" with
  RTM option. Handle new option.
  (ix86_valid_target_attribute_inner_p): Add OPT_mrtm.
  (ix86_builtins): Add IX86_BUILTIN_XBEGIN, IX86_BUILTIN_XEND,
  IX86_BUILTIN_XTEST.
  (bdesc_special_args): Ditto.
  (ix86_init_mmx_sse_builtins): Add IX86_BUILTIN_XABORT.
  (ix86_expand_special_args_builtin): Handle new built-in type.
  (ix86_expand_builtin): Handle XABORT instruction.
  * config/i386/i386.h (TARGET_RTM): New.
  * config/i386/i386.md (UNSPECV_XBEGIN): New.
  (UNSPECV_XEND): Ditto.
  (UNSPECV_XABORT): Ditto.
  (UNSPECV_XTEST): Ditto.
  (xbegin): Ditto.
  (xbegin_1): Ditto.
  (xend): Ditto.
  (xabort): Ditto
  (xtest): Ditto.
  (xtest_1): Ditto.
  * config/i386/i386.opt (mrtm): New.
  * config/i386/immintrin.h: Include rtmintrin.h and
  xtestintrin.h.
  * config/i386/rtmintrin.h: New header.
  * config/i386/xtestintrin.h: Ditto.

testsuite/ChangeLog entry:
    * gcc.target/i386/rtm-xabort-1.c: New.
    * gcc.target/i386/rtm-xbegin-1.c: Ditto.
    * gcc.target/i386/rtm-xend-1.c: Ditto.
    * gcc.target/i386/rtm-xtest-1.c: Ditto.
    * gcc.target/i386/sse-12.c: Test RTM intrinsics.
    * 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@185218 138bc75d-0d04-0410-961f-82ee72b054a4
20 files changed:
gcc/ChangeLog
gcc/common/config/i386/i386-common.c
gcc/config.gcc
gcc/config/i386/cpuid.h
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/immintrin.h
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/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-22.c
gcc/testsuite/gcc.target/i386/sse-23.c