Commit Graph

6 Commits

Author SHA1 Message Date
Richard Henderson 4c868789e4 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
2016-01-13 09:03:42 -08:00
Uros Bizjak 48a3fa6902 gtm-builtins.def (_ITM_free): Declare leaf.
* gtm-builtins.def (_ITM_free): Declare leaf.

From-SVN: r202058
2013-08-28 19:42:19 +02:00
Aldy Hernandez dda6ecaea8 re PR lto/51698 ([trans-mem] TM runtime and application with LTO)
PR lto/51698
        * builtin-types.def: (BT_CONST_DOUBLE_PTR): New.
        (BT_FN_VOID_PTR_CONST_PTR_SIZE): New.
        (BT_FN_VOID_PTR_INT_SIZE): New.
        (BT_FN_UINT_UINT_VAR): Remove.
        (BT_FN_UINT32_UINT32_VAR): New.
        (BT_FN_DOUBLE_VPTR): Remove.
        (BT_FN_DOUBLE_CONST_DOUBLE_PTR): New.
        * gtm-builtins.def (_ITM_abortTransaction): Set return type to
        void.
        (_ITM_changeTransactionMode): Same.
        (_ITM_memmoveRtWt): Change return type to void.
        (_ITM_memcpyRtWt): Same.
        (_ITM_memsetW): Same.
        (_ITM_RaRD): Change types to double.
        (_ITM_RD): Same.
        (_ITM_RaWD): Same.
        (_ITM_RfWD): Same.
        * builtins.def (DEF_TM_BUILTIN): Set BOTH_P to true.
testsuite/
        PR lto/51698
        * gcc.dg/lto/trans-mem-4_0.c: New.
        * gcc.dg/lto/trans-mem-4_1.c: New.
        * gcc.dg/lto/trans-mem-2_0.c: Provide correct argument types for
        TM builtins.
        * gcc.dg/lto/trans-mem-1_0.c: Require stdint_types.
        * gcc.dg/lto/trans-mem-1_1.c: Provide correct argument types for
        TM builtins.
        * gcc.dg/lto/trans-mem-3_0.c: Require stdint_types.
        * gcc.dg/lto/trans-mem-3_1.c: Provide correct argument types for
        TM builtins.

From-SVN: r183537
2012-01-25 20:32:57 +00:00
Uros Bizjak 5752c591bc re PR libitm/51830 (FAIL: libitm.c/mem(cpy|set)-1.c execution test)
PR libitm/51830
	* builtin-types.def (BT_FN_UINT_UINT_VAR): New.
	* gtm-builtins.def (BUILT_IN_TM_START): Declare as BT_FN_UINT_UINT_VAR.

libitm/ChangeLog:

	PR libitm/51830
	* config/x86/sjlj.S (_ITM_beginTransaction) [!__x86_64__]: Load
	the first function argument to %eax.

From-SVN: r183435
2012-01-23 15:57:44 +01:00
Torvald Riegel b0c99997cc Mark transaction begin as returns-twice.
PR rtl-optimization/51771
	gcc/
	* builtin-attrs.def (ATTR_RETURNS_TWICE, ATTR_TM_NOTHROW_RT_LIST):
	New.
	* gtm-builtins.def (BUILT_IN_TM_START): Add returns-twice attrib.

From-SVN: r182937
2012-01-05 23:48:30 +00:00
Aldy Hernandez 0a35513e4e Merge from transactional-memory branch.
From-SVN: r181154
2011-11-08 11:13:41 +00:00