summaryrefslogtreecommitdiff
path: root/libitm/Makefile.am
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2016-01-13 09:03:42 -0800
committerRichard Henderson <rth@gcc.gnu.org>2016-01-13 09:03:42 -0800
commit4c868789e492c923f3e8736d92eeaac352518151 (patch)
treef728a754bf3a0dcace0dede256cd49817a1cc56e /libitm/Makefile.am
parentef6d1772682f6929016159bb23a5640a9676718a (diff)
downloadgcc-4c868789e492c923f3e8736d92eeaac352518151.tar.gz
re PR target/68964 (Internal compiler error for test case gcc.dg/tm/20100610.c since r231674)
PR 68964 gcc/ PR tree-opt/68964 * target.def (builtin_tm_load, builtin_tm_store): Remove. * config/i386/i386.c (ix86_builtin_tm_load): Remove. (ix86_builtin_tm_store): Remove. (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove. (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove. * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove. (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove. * doc/tm.texi: Rebuild. * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New. (BUILT_IN_TM_MEMCPY_RTWN): New. * trans-mem.c (tm_log_emit_stmt): Rearrange code for better fallback from vector to integer helpers. (build_tm_load): Handle vector types directly, instead of via target hook. (build_tm_store): Likewise. (expand_assign_tm): Prepare for register types not handled by the above. Copy them to memory and use memcpy. * tree.c (tm_define_builtin): New. (find_tm_vector_type): New. (build_tm_vector_builtins): New. (build_common_builtin_nodes): Call it. libitm/ * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc * configure.ac (ARCH_AARCH64): New conditional. (ARCH_PPC, ARCH_S390): Likewise. * Makefile.in, configure: Rebuild. * libitm.h (_ITM_TYPE_M128): Always define. * vect64.cc: Split ... * vect128.cc: ... out of... * config/x86/x86_sse.cc: ... here. * config/arm/neon.cc: New file. From-SVN: r232330
Diffstat (limited to 'libitm/Makefile.am')
-rw-r--r--libitm/Makefile.am20
1 files changed, 15 insertions, 5 deletions
diff --git a/libitm/Makefile.am b/libitm/Makefile.am
index 1dce82d62f1..6e1438d6191 100644
--- a/libitm/Makefile.am
+++ b/libitm/Makefile.am
@@ -62,16 +62,26 @@ libitm_la_SOURCES = \
query.cc retry.cc rwlock.cc useraction.cc util.cc \
sjlj.S tls.cc method-serial.cc method-gl.cc method-ml.cc
+if ARCH_AARCH64
+libitm_la_SOURCES += vect128.cc
+endif
if ARCH_ARM
-libitm_la_SOURCES += hwcap.cc
+libitm_la_SOURCES += hwcap.cc neon.cc
+endif
+if ARCH_PPC
+libitm_la_SOURCES += vect128.cc
+vect128.lo : override CXXFLAGS += -maltivec
+endif
+if ARCH_S390
+libitm_la_SOURCES += vect128.cc
+vect128.lo : override CXXFLAGS += -march=z13
endif
if ARCH_X86
-libitm_la_SOURCES += x86_sse.cc x86_avx.cc
-# Make sure -msse is appended at the end.
-x86_sse.lo : override CXXFLAGS += -msse
+libitm_la_SOURCES += vect64.cc vect128.cc x86_avx.cc
+vect64.lo : override CXXFLAGS += -msse
+vect128.lo : override CXXFLAGS += -msse
endif
if ARCH_X86_AVX
-# Make sure -mavx is appended at the end.
x86_avx.lo : override CXXFLAGS += -mavx
endif