https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68964
--- Comment #5 from Richard Henderson <rth at gcc dot gnu.org> --- Author: rth Date: Wed Jan 13 17:03:42 2016 New Revision: 232330 URL: https://gcc.gnu.org/viewcvs?rev=232330&root=gcc&view=rev Log: 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. Added: trunk/libitm/config/arm/neon.cc trunk/libitm/vect128.cc - copied, changed from r232329, trunk/libitm/config/x86/x86_sse.cc trunk/libitm/vect64.cc - copied, changed from r232329, trunk/libitm/config/x86/x86_sse.cc Removed: trunk/libitm/config/x86/x86_sse.cc Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/doc/tm.texi trunk/gcc/doc/tm.texi.in trunk/gcc/gtm-builtins.def trunk/gcc/target.def trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/tm/memopt-13.c trunk/gcc/testsuite/gcc.dg/tm/memopt-6.c trunk/gcc/trans-mem.c trunk/gcc/tree.c trunk/libitm/ChangeLog trunk/libitm/Makefile.am trunk/libitm/Makefile.in trunk/libitm/configure trunk/libitm/configure.ac trunk/libitm/libitm.h