aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2016-01-15S/390: Better help text for -mmvcle.Dominik Vogt2-1/+5
gcc/ChangeLog * config/s390/s390.opt (mmvcle): More verbose help text. From-SVN: r232418
2016-01-15S/390: s390.opt: Add period to -mzvector option text.Dominik Vogt2-1/+5
gcc/ChangeLog: 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com> * config/s390/s390.opt: Add period to -mzvector option text. From-SVN: r232417
2016-01-15re PR tree-optimization/68961 (Test case gcc.target/powerpc/pr60203.c fails ↵Richard Biener4-7/+35
since r231674) 2016-01-15 Richard Biener <rguenther@suse.de> PR tree-optimization/68961 * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost of invariants in stores again. * gcc.dg/vect/costmodel/x86_64/costmodel-pr68961.c: New testcase. From-SVN: r232415
2016-01-15[RTEMS] Add Cortex-M7 multilib for FPU supportSebastian Huber2-2/+7
gcc/ChangeLog * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib. From-SVN: r232414
2016-01-15i386.c (ix86_expand_branch): Don't split DI mode xor instruction to SI mode.Ilya Enkovich4-0/+44
gcc/ * config/i386/i386.c (ix86_expand_branch): Don't split DI mode xor instruction to SI mode. gcc/testsuite/ * gcc.target/i386/pr65105-5.c: New test. From-SVN: r232413
2016-01-15* gcc.c-torture/execute/alias-4.c: New testcase.Jan Hubicka2-0/+23
From-SVN: r232411
2016-01-15re PR ipa/68148 (Devirtualization only applies to last of multiple ↵Jan Hubicka4-0/+33
successive calls) PR ipa/68148 * ipa-icf.c (sem_function::merge): Virtual functions may become reachable even if they address is not taken and there are no idrect calls. * g++.dg/ipa/devirt-49.C: New testcase. From-SVN: r232410
2016-01-15lto-streamer-out.c (subtract_estimated_size): New function.Jan Hubicka2-2/+48
* lto-streamer-out.c (subtract_estimated_size): New function. (get_symbol_initial_value): Use it. From-SVN: r232407
2016-01-15fix time shift againChristian Bruel2-2/+2
From-SVN: r232405
2016-01-15fix time shiftChristian Bruel2-2/+2
From-SVN: r232404
2016-01-15re PR target/65837 ([arm-linux-gnueabihf] lto1 target specific builtin not ↵Christian Bruel8-29/+90
available) gcc 2015-01-16 Christian Bruel <christian.bruel@st.com> PR target/65837 * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag. (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins, (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins. use add_builtin_function_ext_scope instead of add_builtin_function. (neon_set_p, neon_crypto_set_p): Remove. (arm_init_builtins): Always call arm_init_neon_builtins and arm_init_crypto_builtins. (arm_expand_builtin): Check that builtins are allowed for the arch. * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype. * config/arm/arm.c (arm_valid_target_attribute_tree): Remove arm_init_neon_builtins call. gcc/testsuite 2015-01-16 Christian Bruel <christian.bruel@st.com> PR target/65837 * gcc.target/arm/attr-neon-builtin-fail2.c: New test. * gcc.target/arm/lto/pr65837-attr_0.c: New test. * gcc.target/arm/lto/pr65837_0.c: Fix skip condition and use ACLE name. From-SVN: r232403
2016-01-15re PR tree-optimization/69117 (wrong code at -O1 -fstrict-aliasing)Richard Biener5-3/+117
2016-01-15 Richard Biener <rguenther@suse.de> PR tree-optimization/69117 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member. * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info of the leader conservatively. (free_scc_vn): Restore original SSA name infos. * gcc.dg/torture/pr69117.c: New testcase. From-SVN: r232401
2016-01-14re PR tree-optimization/69270 (DOM should exploit range information to ↵Jeff Law2-6/+14
create more equivalences) PR tree-optimization/69270 * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a single bit of precision, verify it's also unsigned. (record_edge_info): Use constant_boolean_node rather than fold_convert to convert boolean_true/boolean_false to the right type. From-SVN: r232399
2016-01-15Daily bump.GCC Administrator1-1/+1
From-SVN: r232398
2016-01-14re PR rtl-optimization/69014 (gcc.c-torture/execute/991023-1.c FAILs with ↵Richard Henderson2-0/+60
-Os -fmodulo-sched -fno-tree-vrp) PR rtl-opt/69014 * loop-doloop.c (record_reg_sets): New. (doloop_optimize): Reject the transform if the sequence clobbers registers live at the end of the loop block. (doloop_optimize_loops): Enable df_live if needed. From-SVN: r232395
2016-01-14Fix minor whitespace problems in last commitJeff Law2-2/+2
From-SVN: r232394
2016-01-14[cilkplus] Fix cilk_spawn gimplification bug (PR cilkplus/69048)Ryan Burn4-0/+30
PR c++/69048 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr to add missing cleanup point. PR c++/69048 * g++.dg/cilk-plus/CK/pr69048.cc: New test. From-SVN: r232393
2016-01-14Revert 2016-01-13 change.Michael Meissner6-60/+41
From-SVN: r232392
2016-01-14Re: [PATCH][PR tree-optimization/69270] Exploit VRP information in DOMJeff Law2-2/+7
* tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment typo. From-SVN: r232391
2016-01-14re PR c/69272 (ICE: in c_builtin_function, at c/c-decl.c:4020 with -fgnu-tm)Richard Henderson3-6/+14
PR c/69272 PR tree-opt/68964 * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size. * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p instead of builtin_decl_declared_p to test for declaration. From-SVN: r232390
2016-01-14loop.texi (Loop Analysis and Representation): Document loop_depth function.Nicklas Bo Jensen2-2/+7
* doc/loop.texi (Loop Analysis and Representation): Document loop_depth function. From-SVN: r232389
2016-01-14Mark symbols in offload tables with force_output in read_offload_tablesTom de Vries8-22/+33
2016-01-14 Tom de Vries <tom@codesourcery.com> PR tree-optimization/68773 * c-parser.c (c_parser_oacc_declare, c_parser_omp_declare_target): Don't set force_output. * parser.c (cp_parser_oacc_declare, cp_parser_omp_declare_target): Don't set force_output. * omp-low.c (expand_omp_target): Don't set force_output. * varpool.c (varpool_node::get_create): Same. * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and offload_funcs with force_output. From-SVN: r232384
2016-01-14re PR testsuite/67509 (FAIL: gfortran.dg/ieee/ieee_7.f90 -O0 execution test)Francois-Xavier Coudert2-3/+9
PR testsuite/67509 * gfortran.dg/ieee/ieee_7.f90: For out of bound precision or range tests use 100 * maximum instead of maximum + 1. From-SVN: r232383
2016-01-14re PR debug/69244 (ICE in plus_constant, at explow.c:87 on i686-linux-gnu)Jakub Jelinek5-1/+53
PR debug/69244 * lra-eliminations.c (move_plus_up): Don't change anything if either the outer or inner subreg mode is not MODE_INT. * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards. * gcc.dg/guality/pr69244.c: New test. From-SVN: r232382
2016-01-14target-supports.exp (check_effective_target_issignaling): New procedure.Uros Bizjak3-1/+19
* lib/target-supports.exp (check_effective_target_issignaling): New procedure. * gcc.dg/pr61441.c: Require issignaling effective target. From-SVN: r232381
2016-01-14powerpc: Add some XFAILs to 20050603-3.c (PR68803)Segher Boessenkool2-2/+8
In r230167 I made this testcase be tested on 64-bit as well, since it now works. That was a tad optimistic for powerpc64le though. For now, XFAIL it there. PR target/68803 * gcc.target/powerpc/20050603-3.c: Add xfails for powerpc64le. From-SVN: r232380
2016-01-14PR preprocessor/69177 and PR c++/68819: libcpp fallbacks and ↵David Malcolm7-5/+214
-Wmisleading-indentation gcc/c-family/ChangeLog: PR c++/68819 * c-indentation.c (get_visual_column): Add location_t param. Handle the column number being zero by effectively disabling the warning, with an "inform". (should_warn_for_misleading_indentation): Add location_t argument for all uses of get_visual_column. gcc/testsuite/ChangeLog: PR c++/68819 PR preprocessor/69177 * gcc.dg/plugin/location-overflow-test-1.c: New test case. * gcc.dg/plugin/location-overflow-test-2.c: New test case. * gcc.dg/plugin/location_overflow_plugin.c: New test plugin. * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above. libcpp/ChangeLog: PR preprocessor/69177 * line-map.c (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES): New constant. (LINE_MAP_MAX_LOCATION_WITH_COLS): Add note about unit tests to comment. (can_be_stored_compactly_p): Reduce threshold from LINE_MAP_MAX_LOCATION_WITH_COLS to LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES. (get_combined_adhoc_loc): Likewise. (get_range_from_loc): Likewise. (linemap_line_start): Ensure that a new ordinary map is created when transitioning from range-packing being enabled to disabled, at the LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES threshold. Set range_bits to 0 for new ordinary maps when beyond this limit. Prevent the "increase the column bits of a freshly created map" optimization if the range bits has reduced. From-SVN: r232379
2016-01-14re PR c/69262 (Request for better array bounds warning)Marek Polacek4-0/+75
PR c/69262 * c-decl.c (grokdeclarator): Provide more information for invalid array declarations. * gcc.dg/array-15.c: New test. From-SVN: r232376
2016-01-14Tidy: remove reduc_xxx_optab migration code.Alan Lawrence7-92/+28
* doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m}, reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m}, reduc_uplus_@var{m}): Remove. * expr.c (expand_expr_real_2): Remove expansion path for reduc_[us](min|max|plus) optabs. * optabs-tree.c (scalar_reduc_to_vector): Remove. * optabs-tree.h (scalar_reduc_to_vector): Remove. * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab, reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove. * tree-vect-loop.c (vectorizable_reduction): Remove test for reduc_[us](min|max|plus) optabs. From-SVN: r232373
2016-01-14[MIPS] Migrate reduction optabs in mips-ps-3d.mdAlan Lawrence2-12/+31
* config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove. (reduc_plus_scal_v2sf): New. (reduc_smax_v2sf): Rename to... (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract. (reduc_smin_v2sf): Rename to... (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract. From-SVN: r232371
2016-01-14re PR c++/69261 (Copying char arrays during constexpr evaluation does not ↵Jason Merrill3-2/+113
work reliably) PR c++/69261 * constexpr.c (find_array_ctor_elt): Handle splitting RANGE_EXPR. From-SVN: r232370
2016-01-14alias.c (compare_base_symbol_refs): New function.Jan Hubicka2-32/+72
* alias.c (compare_base_symbol_refs): New function. (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use it. From-SVN: r232369
2016-01-14re PR middle-end/68146 (ice in gimple_stmt_nonnegative_warnv_p with -O2)Jakub Jelinek5-29/+132
PR middle-end/68146 PR tree-optimization/69155 * tree-complex.c: Include cfganal.h. (phis_to_revisit): New variable. (extract_component): Add phiarg_p argument. Assert that returned SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true. (update_phi_components): Partly rewrite to use loop over real/imag components instead of code duplication. If extract_component returns SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or create_tmp_reg into the PHI node instead, and mention the phi triplet in phis_to_revisit. (tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded in phis_to_revisit at the end. * gfortran.dg/pr68146.f: New test. * gfortran.dg/pr69155.f90: New test. From-SVN: r232368
2016-01-14re PR tree-optimization/68060 (ICE on valid code at -O3 on x86_64-linux-gnu ↵Richard Biener5-2/+54
in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1413) 2016-01-14 Richard Biener <rguenther@suse.de> PR tree-optimization/68060 * tree-vect-loop.c (vect_is_simple_reduction): Check the outer loop reduction is only used in the inner loop before detecting a double reduction. * gcc.dg/torture/pr68060-1.c: New testcase. * gcc.dg/torture/pr68060-2.c: Likewise. From-SVN: r232367
2016-01-14re PR target/68269 (FAIL: gcc.dg/pr68129_1.c (internal compiler error))Jakub Jelinek2-0/+10
PR target/68269 * combine.c (expand_field_assignment): Punt if compute_mode is unsupported scalar mode. From-SVN: r232366
2016-01-14Update previous delta to ensure that the attributes are actually tested.Nick Clifton1-1/+1
From-SVN: r232365
2016-01-14re PR tree-optimization/66856 (ICE in compute_live_loop_exits, at ↵Richard Biener2-78/+74
tree-ssa-loop-manip.c:234) 2016-01-14 Richard Biener <rguenther@suse.de> PR tree-optimization/66856 * tree-vect-slp.c (vect_build_slp_tree): Refactor to build SLP node only if it built successfully. (vect_analyze_slp_instance): Adjust. From-SVN: r232364
2016-01-14* lib/target-supports.expNick Clifton7-7/+23
(check_effective_target_arm_neon_ok_nocache): Add an option sequence that includes setting the ARM architecture to ARMv7-A. * gcc.target/arm/attr-neon.c: Use dg-add-options to add the command line options necessary to enable Neon support. * gcc.target/arm/neon-vlshr-imm-1.c: Likewise. * gcc.target/arm/neon-vshl-imm-1.c: Likewise. * gcc.target/arm/neon-vshr-imm-1.c: Likewise. * gcc.target/arm/pr69180.c: Likewise. From-SVN: r232362
2016-01-14[PATCH][PR tree-optimization/69270] Exploit VRP information in DOMJeff Law4-13/+95
PR tree-optimization/69270 * tree-ssa-dom.c (ssa_name_has_boolean_range): New function. (record_edge_info): Use it. Convert boolean_{true,false}_node to the type of op0. PR tree-optimization/69270 * gcc.dg/tree-ssa/pr69270.c: New test. From-SVN: r232361
2016-01-14Daily bump.GCC Administrator1-1/+1
From-SVN: r232359
2016-01-13re PR c++/66487 (sanitizer/warnings for lifetime DSE)Jan Hubicka2-2/+9
PR ipa/66487 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): use block_ultimate_origin (noncall-stmt_may_be_vtbl_ptr_store): Likewise. From-SVN: r232356
2016-01-13invoke.texi (Submodel Options): Rename section to "Machine-Dependent ↵Sandra Loosemore2-13/+20
Options" to better reflect its content. 2016-01-13 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/invoke.texi (Submodel Options): Rename section to "Machine-Dependent Options" to better reflect its content. Rewrite introductory text to remove archaic CPU names. Update references. From-SVN: r232355
2016-01-13invoke.texi (Code Gen Options): Move section up in file, before ↵Sandra Loosemore2-749/+756
target-specific options. 2016-01-13 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/invoke.texi (Code Gen Options): Move section up in file, before target-specific options. Update menu and option summary to reflect the new section ordering. From-SVN: r232352
2016-01-13Improve documentation of -std option for C++Jonathan Wakely3-21/+52
* doc/invoke.texi (C Dialect Options): Adjust -std default for C++. (C++ Dialect Options): Add cross-reference to -std option. * doc/standards.texi (C++ Language): Document C++14 support. From-SVN: r232349
2016-01-13rs6000-builtin.def (BU_FLOAT128_2): Add support for pack/unpack functions ↵Michael Meissner6-33/+98
for __ibm128. [gcc] 2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support for pack/unpack functions for __ibm128. (PACK_IF): Likewise. (UNPACK_IF): Likewise. * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add support for __ibm128 pack/unpack functions. (rs6000_invalid_builtin): Likewise. (rs6000_init_builtins): Likewise. (rs6000_opt_masks): Likewise. * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name. (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack functions (RS6000_BTM_COMMON): Likewise. * config/rs6000/rs6000.md (f128_vsx): New mode attribute. (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to disallow __builtin_{pack,unpack}_longdouble if long double is IEEE 128-bit floating point. Add support for the double values to be in Altivec registers for TF/IF packing and unpacking, but restrict TD packing sub-fields to be FPR registers. Don't allow overlapped register support for packing. Allow pack inputs to be memory locations. Don't build generator functions for unpack<mode>_dm and unpack<mode>_nodm. (unpack<mode>_dm): Likewise. (unpack<mode>_nodm): Likewise. (pack<mode>): Likewise. * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add built-in functions to pack/unpack explicit __ibm128 values. (__builtin_unpack_ibm128): Likewise. * doc/extend.texi (PowerPC Built-in Functions): Document __builtin_pack_ibm128 and __builtin_unpack_ibm128. [libgcc] 2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com> Steven Munroe <munroesj@linux.vnet.ibm.com> Tulio Magno Quites Machado Filho <tulioqm@br.ibm.com> * config/rs6000/sfp-exceptions.c: New file to provide exception support for IEEE 128-bit floating point. * config/rs6000/float128-hw.c: New file for ISA 3.0 IEEE 128-bit floating point hardware support. * config/rs6000/floattikf.c: New files for IEEE 128-bit floating point conversions. * config/rs6000/fixunskfti.c: Likewise. * config/rs6000/fixkfti.c: Likewise. * config/rs6000/floatuntikf.c: Likewise. * config/rs6000/extendkftf2-sw.c: Likewise. * config/rs6000/trunctfkf2-sw.c: Likewise. * config/rs6000/float128-ifunc.c: New file to pick either IEEE 128-bit floating point software emulation or use ISA 3.0 hardware support if it is available. * config/rs6000/quad-float128.h: New file to support IEEE 128-bit floating point. * config/rs6000/t-float128: New Makefile fragments to enable building __float128 emulation support. * config/rs6000/t-float128-hw: Likewise. * config/rs6000/float128-sed: New file to convert TF names to KF names for PowerPC IEEE 128-bit floating point support. * config/rs6000/sfp-machine.h (_FP_W_TYPE_SIZE): Use 64-bit types when building on 64-bit systems, or when VSX is enabled. (_FP_W_TYPE): Likewise. (_FP_WS_TYPE): Likewise. (_FP_I_TYPE): Likewise. (TItype): Define on 64-bit systems. (UTItype): Likewise. (TI_BITS): Likewise. (_FP_MUL_MEAT_D): Add support for using 64-bit types. (_FP_MUL_MEAT_Q): Likewise. (_FP_DIV_MEAT_D): Likewise. (_FP_DIV_MEAT_Q): Likewise. (_FP_NANFRAC_D): Likewise. (_FP_NANFRAC_Q): Likewise. (ISA_BIT): Add exception support if we are being compiled on a machine with hardware floating point support to build the IEEE 128-bit emulation functions. (FP_EX_INVALID): Likewise. (FP_EX_OVERFLOW): Likewise. (FP_EX_UNDERFLOW): Likewise. (FP_EX_DIVZERO): Likewise. (FP_EX_INEXACT): Likewise. (FP_EX_ALL): Likewise. (__sfp_handle_exceptions): Likewise. (FP_HANDLE_EXCEPTIONS): Likewise. (FP_RND_NEAREST): Likewise. (FP_RND_ZERO): Likewise. (FP_RND_PINF): Likewise. (FP_RND_MINF): Likewise. (FP_RND_MASK): Likewise. (_FP_DECL_EX): Likewise. (FP_INIT_ROUNDMODE): Likewise. (FP_ROUNDMODE): Likewise. * configure.ac (powerpc*-*-linux*): Check whether the PowerPC compiler can do __float128. * configure: Regenerate. * libgcc/config.host (powerpc*-*-linux*): If compiler can compile VSX code, enable IEEE 128-bit floating point. From-SVN: r232346
2016-01-13Improve warning locations (PR66208)Bernd Schmidt8-17/+44
PR c/66208 * c-common.c (check_function_nonnull): Remove unnecessary declaration. Add new arg loc and pass it down as context. (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer to the location to use for the warning. (check_function_arguments): New arg loc. All callers changed. Pass it to check_function_nonnull. * c-common.h (check_function_arguments): Adjust declaration. testsuite/ PR c/66208 * c-c++-common/pr66208.c: New file. From-SVN: r232345
2016-01-13re PR middle-end/69156 (gcc.dg/pr59630.c: ICE: verify_gimple failed: ↵Jakub Jelinek5-37/+45
non-trivial conversion at assignment with -fno-tree-ccp) PR tree-optimization/69156 * gimple.c (validate_type): Removed. (gimple_builtin_call_types_compatible_p): Use useless_type_conversion_p instead of validate_type. * value-prof.c (gimple_stringop_fixed_value): Fold icall_size to correct type. * gcc.dg/pr69156.c: New test. From-SVN: r232342
2016-01-13Clarify __atomic_compare_exchange effectsJonathan Wakely2-6/+12
* doc/extend.texi (__atomic Builtins): Clarify compare_exchange effects. From-SVN: r232341
2016-01-13Add another testcase for x86 FLT_EVAL_METHODH.J. Lu2-0/+12
* gcc.target/i386/pr69225-7.c: New test. From-SVN: r232331
2016-01-13re PR target/68964 (Internal compiler error for test case ↵Richard Henderson11-189/+361
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