diff options
author | Peter Bergner <bergner@vnet.ibm.com> | 2013-07-15 12:23:49 -0500 |
---|---|---|
committer | Peter Bergner <bergner@gcc.gnu.org> | 2013-07-15 12:23:49 -0500 |
commit | 0258b6e46602fef03af8758a17ae64fcd2fc835e (patch) | |
tree | 88f5fb8e9a6df31ace484371036e954708d4c22a /libitm/configure.ac | |
parent | 87dd8ab0f25e4366beb4c9b2b4699c9bd980ddec (diff) | |
download | gcc-0258b6e46602fef03af8758a17ae64fcd2fc835e.zip gcc-0258b6e46602fef03af8758a17ae64fcd2fc835e.tar.gz gcc-0258b6e46602fef03af8758a17ae64fcd2fc835e.tar.bz2 |
acinclude.m4 (LIBITM_CHECK_AS_HTM): New.
libitm/
* acinclude.m4 (LIBITM_CHECK_AS_HTM): New.
* configure.ac: Use it.
(AC_CHECK_HEADERS): Check for sys/auxv.h.
(AC_CHECK_FUNCS): Check for getauxval.
* config.h.in, configure: Rebuild.
* configure.tgt (target_cpu): Add -mhtm to XCFLAGS.
* config/powerpc/target.h: Include sys/auxv.h and htmintrin.h.
(USE_HTM_FASTPATH): Define.
(_TBEGIN_STARTED, _TBEGIN_INDETERMINATE, _TBEGIN_PERSISTENT,
_HTM_RETRIES) New macros.
(htm_abort, htm_abort_should_retry, htm_available, htm_begin, htm_init,
htm_begin_success, htm_commit, htm_transaction_active): New functions.
gcc/
* config.gcc (powerpc*-*-*): Install htmintrin.h and htmxlintrin.h.
* config/rs6000/t-rs6000 (MD_INCLUDES): Add htm.md.
* config/rs6000/rs6000.opt: Add -mhtm option.
* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add OPTION_MASK_HTM.
(ISA_2_7_MASKS_SERVER): Add OPTION_MASK_HTM.
* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
__HTM__ if the HTM instructions are available.
* config/rs6000/predicates.md (u3bit_cint_operand, u10bit_cint_operand,
htm_spr_reg_operand): New define_predicates.
* config/rs6000/rs6000.md (define_attr "type"): Add htm.
(TFHAR_REGNO, TFIAR_REGNO, TEXASR_REGNO): New define_constants.
Include htm.md.
* config/rs6000/rs6000-builtin.def (BU_HTM_0, BU_HTM_1, BU_HTM_2,
BU_HTM_3, BU_HTM_SPR0, BU_HTM_SPR1): Add support macros for defining
HTM builtin functions.
* config/rs6000/rs6000.c (RS6000_BUILTIN_H): New macro.
(rs6000_reg_names, alt_reg_names): Add HTM SPR register names.
(rs6000_init_hard_regno_mode_ok): Add support for HTM instructions.
(rs6000_builtin_mask_calculate): Likewise.
(rs6000_option_override_internal): Likewise.
(bdesc_htm): Add new HTM builtin support.
(htm_spr_num): New function.
(htm_spr_regno): Likewise.
(rs6000_htm_spr_icode): Likewise.
(htm_expand_builtin): Likewise.
(htm_init_builtins): Likewise.
(rs6000_expand_builtin): Add support for HTM builtin functions.
(rs6000_init_builtins): Likewise.
(rs6000_invalid_builtin, rs6000_opt_mask): Add support for -mhtm option.
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add support for -mhtm.
(TARGET_HTM, MASK_HTM): Define macros.
(FIRST_PSEUDO_REGISTER): Adjust for new HTM SPR registers.
(FIXED_REGISTERS): Likewise.
(CALL_USED_REGISTERS): Likewise.
(CALL_REALLY_USED_REGISTERS): Likewise.
(REG_ALLOC_ORDER): Likewise.
(enum reg_class): Likewise.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(REGISTER_NAMES): Likewise.
(ADDITIONAL_REGISTER_NAMES): Likewise.
(RS6000_BTC_SPR, RS6000_BTC_VOID, RS6000_BTC_32BIT, RS6000_BTC_64BIT,
RS6000_BTC_MISC_MASK, RS6000_BTM_HTM): New macros.
(RS6000_BTM_COMMON): Add RS6000_BTM_HTM.
* config/rs6000/htm.md: New file.
* config/rs6000/htmintrin.h: New file.
* config/rs6000/htmxlintrin.h: New file.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_powerpc_htm_ok): New
function to test if HTM is available.
* gcc.target/powerpc/htm-xl-intrin-1.c: New test.
* gcc.target/powerpc/htm-builtin-1.c: New test.
From-SVN: r200960
Diffstat (limited to 'libitm/configure.ac')
-rw-r--r-- | libitm/configure.ac | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libitm/configure.ac b/libitm/configure.ac index ff41266..584a23b 100644 --- a/libitm/configure.ac +++ b/libitm/configure.ac @@ -160,7 +160,7 @@ AC_SUBST(libtool_VERSION) AC_STDC_HEADERS AC_HEADER_TIME ACX_HEADER_STRING -AC_CHECK_HEADERS(unistd.h semaphore.h sys/time.h malloc.h) +AC_CHECK_HEADERS(unistd.h semaphore.h sys/time.h sys/auxv.h malloc.h) GCC_HEADER_STDINT(gstdint.h) @@ -193,7 +193,7 @@ AC_LINK_IFELSE( [AC_MSG_ERROR([Pthreads are required to build libitm])])]) # Check for functions needed. -AC_CHECK_FUNCS(strtoull memalign posix_memalign) +AC_CHECK_FUNCS(strtoull memalign posix_memalign getauxval) # Check for broken semaphore implementation on darwin. # sem_init returns: sem_init error: Function not implemented. @@ -245,6 +245,7 @@ LIBITM_CHECK_SYNC_BUILTINS LIBITM_CHECK_64BIT_SYNC_BUILTINS LIBITM_CHECK_AS_AVX LIBITM_CHECK_AS_RTM +LIBITM_CHECK_AS_HTM GCC_CHECK_ELF_STYLE_WEAKREF |