* [Bug target/53194] [4.8 Regression] Many x86 failures
2012-05-02 17:43 [Bug target/53194] New: [4.8 Regression] Many x86 failures hjl.tools at gmail dot com
` (6 preceding siblings ...)
2012-05-03 10:31 ` jakub at gcc dot gnu.org
@ 2012-08-14 0:51 ` eraman at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: eraman at gcc dot gnu.org @ 2012-08-14 0:51 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53194
--- Comment #8 from eraman at gcc dot gnu.org 2012-08-14 00:51:15 UTC ---
Author: eraman
Date: Tue Aug 14 00:51:10 2012
New Revision: 190375
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190375
Log:
2012-08-13 Easwaran Raman <eraman@google.com>
Backport the following patches from trunk to add support for Intel
Transactional Memory Instructions support (Google ref b/6496405):
r185218, r185223, r187051, r187084.
r185218,r185223:
2012-02-12 Kirill Yukhin <kirill.yukhin@intel.com>
* 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.
r187051:
2012-05-02 Kirill Yukhin <kirill.yukhin@intel.com>
Andi Kleen <ak@linux.intel.com>
* coretypes (MEMMODEL_MASK): New.
* builtins.c (get_memmodel): Add val. Call target.memmodel_check
and return new variable.
(expand_builtin_atomic_exchange): Mask memmodel values.
(expand_builtin_atomic_compare_exchange): Ditto.
(expand_builtin_atomic_load): Ditto.
(expand_builtin_atomic_store): Ditto.
(expand_builtin_atomic_clear): Ditto.
* doc/extend.texi: Mention port-dependent memory model flags.
* config/i386/cpuid.h (bit_HLE): New.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
HLE support.
* config/i386/i386-protos.h (ix86_generate_hle_prefix): New.
* config/i386/i386-c.c (ix86_target_macros_internal): Set
HLE defines.
(ix86_target_string)<-mhle>: New.
(ix86_valid_target_attribute_inner_p)<OPT_mhle>: Ditto.
* config/i386/i386.c (ix86_target_string)<OPTION_MASK_ISA_HLE>:
New.
(ix86_valid_target_attribute_inner_p)<OPT_mhle>: Ditto.
(ix86_option_override_internal)<PTA_HLE>: New switch, set it
enabled for generic, generic64 and core-avx2.
(ix86_print_operand): Generate HLE lock prefixes.
(ix86_memmodel_check): New.
(TARGET_MEMMODEL_CHECK): Ditto.
* config/i386/i386.h (OPTION_ISA_HLE): Ditto.
(IX86_HLE_ACQUIRE): Ditto.
(IX86_HLE_RELEASE): Ditto.
* config/i386/i386.h (ix86_generate_hle_prefix): Ditto.
* config/i386/i386.opt (mhle): Ditto.
* config/i386/sync.md(atomic_compare_and_swap<mode>): Pass
success model to instruction emitter.
(atomic_fetch_add<mode>): Ditto.
(atomic_exchange<mode>): Ditto.
(atomic_add<mode>): Ditto.
(atomic_sub<mode>): Ditto.
(atomic_<code><mode>): Ditto.
(*atomic_compare_and_swap_doubledi_pic): Ditto.
(atomic_compare_and_swap_single<mode>): Define and use argument
for success model.
(atomic_compare_and_swap_double<mode>): Ditto.
* configure.ac: Check if assembler support HLE prefixes.
* configure: Regenerate.
* config.in: Ditto.
r187084:
2012-05-03 Jakub Jelinek <jakub@redhat.com>
PR target/53194
* config/i386/i386-c.c (ix86_target_macros_internal): Don't
define __ATOMIC_HLE_* macros here.
(ix86_target_macros): But here, using cpp_define_formatted.
testsuite/ChangeLog.google-4_7:
2012-08-13 Easwaran Raman <eraman@google.com>
Backport the following patches from trunk to add support for Intel
Transactional Memory Instructions support (Google ref b/6496405):
r185218, r185223, r187051, r187089, r187094.
r85218,r185223:
2012-03-12 Kirill Yukhin <kirill.yukhin@intel.com>
* 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.
r187051:
2012-05-02 Kirill Yukhin <kirill.yukhin@intel.com>
* gcc.target/i386/hle-cmpxchg-acq-1.c: New.
* gcc.target/i386/hle-cmpxchg-rel-1.c: Ditto.
* gcc.target/i386/hle-add-acq-1.c: Ditto.
* gcc.target/i386/hle-add-rel-1.c: Ditto.
* gcc.target/i386/hle-and-acq-1.c: Ditto.
* gcc.target/i386/hle-and-rel-1.c: Ditto.
* gcc.target/i386/hle-or-acq-1.c: Ditto.
* gcc.target/i386/hle-or-rel-1.c: Ditto.
* gcc.target/i386/hle-sub-acq-1.c: Ditto.
* gcc.target/i386/hle-sub-rel-1.c: Ditto.
* gcc.target/i386/hle-xadd-acq-1.c: Ditto.
* gcc.target/i386/hle-xadd-rel-1.c: Ditto.
* gcc.target/i386/hle-xchg-acq-1.c: Ditto.
* gcc.target/i386/hle-xchg-rel-1.c: Ditto.
* gcc.target/i386/hle-xor-acq-1.c: Ditto.
* gcc.target/i386/hle-xor-rel-1.c: Ditto.
r187089:
2012-05-03 Jakub Jelinek <jakub@redhat.com>
* gcc.target/i386/hle-xadd-rel-1.c: Match .byte 0xf3 instead of
.byte 0xf2.
* gcc.target/i386/hle-sub-rel-1.c: Likewise.
* gcc.target/i386/hle-xchg-rel-1.c: Likewise.
* gcc.target/i386/hle-add-rel-1.c: Likewise.
r187094:
2012-05-03 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/hle-cmpxchg-acq-1.c (dg-options): Add -march=x86-64.
* gcc.target/i386/hle-xadd-acq-1.c (dg-options): Ditto.
* gcc.target/i386/hle-cmpxchg-rel-1.c (dg-options): Ditto.
* gcc.target/i386/hle-xadd-rel-1.c (dg-options): Ditto.
Added:
branches/google/gcc-4_7/gcc/config/i386/rtmintrin.h
- copied unchanged from r185223, trunk/gcc/config/i386/rtmintrin.h
branches/google/gcc-4_7/gcc/config/i386/xtestintrin.h
- copied unchanged from r185223, trunk/gcc/config/i386/xtestintrin.h
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/hle-add-acq-1.c
- copied unchanged from r187051,
trunk/gcc/testsuite/gcc.target/i386/hle-add-acq-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/hle-add-rel-1.c
- copied, changed from r187051,
trunk/gcc/testsuite/gcc.target/i386/hle-add-rel-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/hle-and-acq-1.c
- copied unchanged from r187051,
trunk/gcc/testsuite/gcc.target/i386/hle-and-acq-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/hle-and-rel-1.c
- copied unchanged from r187051,
trunk/gcc/testsuite/gcc.target/i386/hle-and-rel-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/hle-cmpxchg-acq-1.c
- copied, changed from r187051,
trunk/gcc/testsuite/gcc.target/i386/hle-cmpxchg-acq-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/hle-cmpxchg-rel-1.c
- copied, changed from r187051,
trunk/gcc/testsuite/gcc.target/i386/hle-cmpxchg-rel-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/hle-or-acq-1.c
- copied unchanged from r187051,
trunk/gcc/testsuite/gcc.target/i386/hle-or-acq-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/hle-or-rel-1.c
- copied unchanged from r187051,
trunk/gcc/testsuite/gcc.target/i386/hle-or-rel-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/hle-sub-acq-1.c
- copied unchanged from r187051,
trunk/gcc/testsuite/gcc.target/i386/hle-sub-acq-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/hle-sub-rel-1.c
- copied, changed from r187051,
trunk/gcc/testsuite/gcc.target/i386/hle-sub-rel-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/hle-xadd-acq-1.c
- copied, changed from r187051,
trunk/gcc/testsuite/gcc.target/i386/hle-xadd-acq-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/hle-xadd-rel-1.c
- copied, changed from r187051,
trunk/gcc/testsuite/gcc.target/i386/hle-xadd-rel-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/hle-xchg-acq-1.c
- copied unchanged from r187051,
trunk/gcc/testsuite/gcc.target/i386/hle-xchg-acq-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/hle-xchg-rel-1.c
- copied, changed from r187051,
trunk/gcc/testsuite/gcc.target/i386/hle-xchg-rel-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/hle-xor-acq-1.c
- copied unchanged from r187051,
trunk/gcc/testsuite/gcc.target/i386/hle-xor-acq-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/hle-xor-rel-1.c
- copied unchanged from r187051,
trunk/gcc/testsuite/gcc.target/i386/hle-xor-rel-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/rtm-xabort-1.c
- copied unchanged from r185223,
trunk/gcc/testsuite/gcc.target/i386/rtm-xabort-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/rtm-xbegin-1.c
- copied unchanged from r185223,
trunk/gcc/testsuite/gcc.target/i386/rtm-xbegin-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/rtm-xend-1.c
- copied unchanged from r185223,
trunk/gcc/testsuite/gcc.target/i386/rtm-xend-1.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/rtm-xtest-1.c
- copied unchanged from r185223,
trunk/gcc/testsuite/gcc.target/i386/rtm-xtest-1.c
Modified:
branches/google/gcc-4_7/gcc/ChangeLog.google-4_7
branches/google/gcc-4_7/gcc/builtins.c
branches/google/gcc-4_7/gcc/common/config/i386/i386-common.c
branches/google/gcc-4_7/gcc/config.gcc
branches/google/gcc-4_7/gcc/config.in
branches/google/gcc-4_7/gcc/config/i386/cpuid.h
branches/google/gcc-4_7/gcc/config/i386/driver-i386.c
branches/google/gcc-4_7/gcc/config/i386/i386-builtin-types.def
branches/google/gcc-4_7/gcc/config/i386/i386-c.c
branches/google/gcc-4_7/gcc/config/i386/i386.c
branches/google/gcc-4_7/gcc/config/i386/i386.h
branches/google/gcc-4_7/gcc/config/i386/i386.md
branches/google/gcc-4_7/gcc/config/i386/i386.opt
branches/google/gcc-4_7/gcc/config/i386/immintrin.h
branches/google/gcc-4_7/gcc/config/i386/sync.md
branches/google/gcc-4_7/gcc/configure
branches/google/gcc-4_7/gcc/configure.ac
branches/google/gcc-4_7/gcc/coretypes.h
branches/google/gcc-4_7/gcc/doc/extend.texi
branches/google/gcc-4_7/gcc/doc/invoke.texi
branches/google/gcc-4_7/gcc/doc/tm.texi
branches/google/gcc-4_7/gcc/doc/tm.texi.in
branches/google/gcc-4_7/gcc/target.def
branches/google/gcc-4_7/gcc/testsuite/ChangeLog.google-4_7
branches/google/gcc-4_7/gcc/testsuite/g++.dg/other/i386-2.C
branches/google/gcc-4_7/gcc/testsuite/g++.dg/other/i386-3.C
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/sse-12.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/sse-13.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/sse-14.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/sse-22.c
branches/google/gcc-4_7/gcc/testsuite/gcc.target/i386/sse-23.c
^ permalink raw reply [flat|nested] 9+ messages in thread