1. 25 Apr, 2014 14 commits
  2. 24 Apr, 2014 26 commits
    • extend.texi (PowerPC Built-in Functions): Document new powerpc extended divide,… · 06b39289
      extend.texi (PowerPC Built-in Functions): Document new powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
      
      [gcc]
      2014-04-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* doc/extend.texi (PowerPC Built-in Functions): Document new
      	powerpc extended divide, bcd, pack/unpack 128-bit, builtin
      	functions.
      	(PowerPC AltiVec/VSX Built-in Functions): Likewise.
      
      	* config/rs6000/predicates.md (const_0_to_3_operand): New
      	predicate to match 0..3 integer constants.
      
      	* config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
      	to support adding miscellaneous builtin functions.
      	(BU_DFP_MISC_2): Likewise.
      	(BU_P7_MISC_1): Likewise.
      	(BU_P7_MISC_2): Likewise.
      	(BU_P8V_MISC_3): Likewise.
      	(BU_MISC_1): Likewise.
      	(BU_MISC_2): Likewise.
      	(DIVWE): Add extended divide builtin functions.
      	(DIVWEO): Likewise.
      	(DIVWEU): Likewise.
      	(DIVWEUO): Likewise.
      	(DIVDE): Likewise.
      	(DIVDEO): Likewise.
      	(DIVDEU): Likewise.
      	(DIVDEUO): Likewise.
      	(DXEX): Add decimal floating-point builtin functions.
      	(DXEXQ): Likewise.
      	(DDEDPD): Likewise.
      	(DDEDPDQ): Likewise.
      	(DENBCD): Likewise.
      	(DENBCDQ): Likewise.
      	(DIEX): Likewise.
      	(DIEXQ): Likewise.
      	(DSCLI): Likewise.
      	(DSCLIQ): Likewise.
      	(DSCRI): Likewise.
      	(DSCRIQ): Likewise.
      	(CDTBCD): Add new BCD builtin functions.
      	(CBCDTD): Likewise.
      	(ADDG6S): Likewise.
      	(BCDADD): Likewise.
      	(BCDADD_LT): Likewise.
      	(BCDADD_EQ): Likewise.
      	(BCDADD_GT): Likewise.
      	(BCDADD_OV): Likewise.
      	(BCDSUB): Likewise.
      	(BCDSUB_LT): Likewise.
      	(BCDSUB_EQ): Likewise.
      	(BCDSUB_GT): Likewise.
      	(BCDSUB_OV): Likewise.
      	(PACK_TD): Add new pack/unpack 128-bit type builtin functions.
      	(UNPACK_TD): Likewise.
      	(PACK_TF): Likewise.
      	(UNPACK_TF): Likewise.
      	(UNPACK_TF_0): Likewise.
      	(UNPACK_TF_1): Likewise.
      	(PACK_V1TI): Likewise.
      	(UNPACK_V1TI): Likewise.
      
      	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
      	support for decimal floating point builtin functions.
      	(rs6000_expand_ternop_builtin): Add checks for the new builtin
      	functions that take constant arguments.
      	(rs6000_invalid_builtin): Add decimal floating point builtin
      	support.
      	(rs6000_init_builtins): Setup long double, _Decimal64, and
      	_Decimal128 types for new builtin functions.
      	(builtin_function_type): Set the unsigned flags appropriately for
      	the new builtin functions.
      	(rs6000_opt_masks): Add support for decimal floating point builtin
      	functions.
      
      	* config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
      	floating point builtin functions.
      	(RS6000_BTM_COMMON): Likewise.
      	(RS6000_BTI_long_double): Likewise.
      	(RS6000_BTI_dfloat64): Likewise.
      	(RS6000_BTI_dfloat128): Likewise.
      	(long_double_type_internal_node): Likewise.
      	(dfloat64_type_internal_node): Likewise.
      	(dfloat128_type_internal_node): Likewise.
      
      	* config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
      	2.07 bcd arithmetic instructions.
      	(UNSPEC_BCDSUB): Likewise.
      	(UNSPEC_BCD_OVERFLOW): Likewise.
      	(UNSPEC_BCD_ADD_SUB): Likewise.
      	(bcd_add_sub): Likewise.
      	(BCD_TEST): Likewise.
      	(bcd<bcd_add_sub>): Likewise.
      	(bcd<bcd_add_sub>_test): Likewise.
      	(bcd<bcd_add_sub>_test2): Likewise.
      	(bcd<bcd_add_sub>_<code>): Likewise.
      	(peephole2 for combined bcd ops): Likewise.
      
      	* config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
      	decimal floating point builtin functions.
      	(UNSPEC_DENBCD): Likewise.
      	(UNSPEC_DXEX): Likewise.
      	(UNSPEC_DIEX): Likewise.
      	(UNSPEC_DSCLI): Likewise.
      	(UNSPEC_DSCRI): Likewise.
      	(D64_D128): Likewise.
      	(dfp_suffix): Likewise.
      	(dfp_ddedpd_<mode>): Likewise.
      	(dfp_denbcd_<mode>): Likewise.
      	(dfp_dxex_<mode>): Likewise.
      	(dfp_diex_<mode>): Likewise.
      	(dfp_dscli_<mode>): Likewise.
      	(dfp_dscri_<mode>): Likewise.
      
      	* config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
      	builtin functions.
      	(UNSPEC_CDTBCD): Likewise.
      	(UNSPEC_CBCDTD): Likewise.
      	(UNSPEC_DIVE): Add support for new extended divide builtin
      	functions.
      	(UNSPEC_DIVEO): Likewise.
      	(UNSPEC_DIVEU): Likewise.
      	(UNSPEC_DIVEUO): Likewise.
      	(UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
      	pack/unpack 128-bit types.
      	(UNSPEC_PACK_128BIT): Likewise.
      	(idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
      	(udiv<mode>3): Use idiv_ldiv mode attribute.
      	(div<mode>3): Likewise.
      	(addg6s): Add new BCD builtin functions.
      	(cdtbcd): Likewise.
      	(cbcdtd): Likewise.
      	(UNSPEC_DIV_EXTEND): Add support for new extended divide
      	instructions.
      	(div_extend): Likewise.
      	(div<div_extend>_<mode>"): Likewise.
      	(FP128_64): Add support for new builtin functions to pack/unpack
      	128-bit types.
      	(unpack<mode>): Likewise.
      	(unpacktf_0): Likewise.
      	(unpacktf_1): Likewise.
      	(unpack<mode>_dm): Likewise.
      	(unpack<mode>_nodm): Likewise.
      	(pack<mode>): Likewise.
      	(unpackv1ti): Likewise.
      	(packv1ti): Likewise.
      
      [gcc/testsuite]
      2014-04-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/pack01.c: New test to test the new pack and
      	unpack builtin functionss for 128-bit types.
      	* gcc.target/powerpc/pack02.c: Likewise.
      	* gcc.target/powerpc/pack03.c: Likewise.
      	* gcc.target/powerpc/extend-divide-1.c: New test to test extended
      	divide builtin functionss.
      	* gcc.target/powerpc/extend-divide-2.c: Likewise.
      	* gcc.target/powerpc/bcd-1.c: New test for the new BCD builtin
      	functions.
      	* gcc.target/powerpc/bcd-2.c: Likewise.
      	* gcc.target/powerpc/bcd-3.c: Likewise.
      	* gcc.target/powerpc/dfp-builtin-1.c: New test for the new DFP
      	builtin functionss.
      	* gcc.target/powerpc/dfp-builtin-2.c: Likewise.
      
      From-SVN: r209768
      Michael Meissner committed
    • avr.c: Add comment on why -fdelete-null-pointer-checks is disabled. · 6e4f81db
      2014-04-24  Vishnu K S  <Vishnu.k_s@atmel.com>
      
      	* gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
      	is disabled.
      
      2014-04-24  Vishnu K S  <Vishnu.k_s@atmel.com>
      
      	* gcc/testsuite/gcc.dg/tree-ssa/isolate-1.c: Skip test if
      	keeps_null_pointer_checks.
      	* gcc/testsuite/gcc.dg/tree-ssa/isolate-2.c: Ditto
      	* gcc/testsuite/gcc.dg/tree-ssa/isolate-3.c: Ditto
      	* gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c: Ditto
      	* gcc/testsuite/gcc.dg/tree-ssa/isolate-5.c: Ditto
      
      From-SVN: r209767
      Vishnu K S committed
    • c-parser.c (c_parser_sizeof_expression): Reorganize slightly to avoid goto. · 3e4fbd91
              * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
              avoid goto.
      
      From-SVN: r209765
      Prathamesh Kulkarni committed
    • c-parser.c (c_parser_omp_atomic): Allow seq_cst before atomic-clause... · 42056eac
      gcc/c/
      	* c-parser.c (c_parser_omp_atomic): Allow seq_cst before
      	atomic-clause, allow comma in between atomic-clause and
      	seq_cst.
      gcc/cp/
      	* parser.c (cp_parser_omp_atomic): Allow seq_cst before
      	atomic-clause, allow comma in between atomic-clause and
      	seq_cst.
      gcc/testsuite/
      	* c-c++-common/gomp/atomic-16.c: Remove all dg-error directives.
      	Replace load with read and store with write.
      libgomp/
      	* testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
      	atomic type clauses in any order and optional comma in between.
      	* testsuite/libgomp.c++/atomic-15.C: Likewise.
      	* testsuite/libgomp.c/atomic-17.c: Likewise.
      
      From-SVN: r209762
      Jakub Jelinek committed
    • tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define. · f7468577
      	* tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
      	* gimplify.c (omp_is_private): Change last argument's type to int.
      	Only diagnose lastprivate if the simd argument is 1, only diagnose
      	linear if the simd argument is 2.
      	(gimplify_omp_for): Adjust omp_is_private callers.  When adding
      	lastprivate or private, add the clause to OMP_FOR_CLAUSES.  Pass
      	GOVD_EXPLICIT to omp_add_variable.  For simd with collapse == 1
      	create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
      	If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
      	increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
      	* omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
      	OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
      	* tree-nested.c (convert_nonlocal_omp_clauses,
      	convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
      
      	* testsuite/libgomp.c/simd-7.c: New test.
      	* testsuite/libgomp.c/simd-8.c: New test.
      	* testsuite/libgomp.c/simd-9.c: New test.
      	* testsuite/libgomp.c/loop-16.c: New test.
      
      From-SVN: r209760
      Jakub Jelinek committed
    • [multiple changes] · 2f7ac5ce
      2014-04-24  Segher Boessenkool  <segher@kernel.crashing.org>
      
      	PR target/60822
      	* config/m68k/m68k.md (extendplussidi): Don't allow memory for
      	operand 1.
      
      2014-04-24  Jeff Law  <law@redhat.com>
      
      	PR target/60822
      	* gcc.c-torture/pr60822.c: New test.
      	* gcc.c-torture/pr60822.x: New test.
      
      From-SVN: r209759
      Jeff Law committed
    • add recored to gcc/testsuite/ChangeLog for PR c++/57958 · 0b18fd1b
      From-SVN: r209757
      Dinar Temirbulatov committed
    • regex_automaton.tcc (_StateSeq<>::_M_clone()): Do _M_alt before _M_next. · 836c42f6
      2014-04-24  Tim Shen  <timshen91@gmail.com>
      
      	* include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
      	Do _M_alt before _M_next.
      	* testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
      
      From-SVN: r209756
      Tim Shen committed
    • Link to bug report. · 0e93c3dc
      From-SVN: r209754
      Mike Stump committed
    • flag-types.h (enum ivar_visibility): Add. · dcaaa5a0
      2014-04-24  Dimitris Papavasiliou  <dpapavas@gmail.com>
      
      	    * flag-types.h (enum ivar_visibility): Add.
      
      c-family:
      	    * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
      
      objc:
      	* objc-act.c (objc_ivar_visibility, objc_default_ivar_visibility): Add.
      	(objc_init): Initialize objc_default_ivar_visibility.
      	(objc_start_class_interface): Use objc_default_ivar_visibility.
      	(objc_start_class_implementation): Likewise.
      	(objc_lookup_ivar): Implement -fno-local-ivars.
      
      From-SVN: r209753
      Dimitris Papavasiliou committed
    • zh_CN.po: Fix typo for -mfentry. · 07fb6255
      2014-04-24  Jincheng Miao  <jincheng.miao@gmail.com>
      
      	* zh_CN.po: Fix typo for -mfentry.
      
      From-SVN: r209752
      Jincheng Miao committed
    • fixup sh bustage after r209483 · 78c7d18e
      When making pass::execute functions take a function * argument I missed
      the sh_treg_combine pass, so fix that here.
      
      gcc/
      	* config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
      	function * argument.
      
      From-SVN: r209751
      Trevor Saunders committed
    • [AArch64] Enable TBL for big-endian. · fbbde65e
      gcc/ChangeLog:
      2014-04-11  Alan Lawrence  <alan.lawrence@arm.com>
      
      	* config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
      
      gcc/testsuite/ChangeLog:
      2014-04-11  Alan Lawrence  <alan.lawrence@arm.com>
      
      	* lib/target-supports.exp (check_effective_target_vect_perm): Return
      	true for aarch64_be.
      
      From-SVN: r209749
      Alan Lawrence committed
    • re PR libstdc++/43622 (Incomplete C++ library support for __float128) · b911b50d
      2014-04-24  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR libstdc++/43622
      gcc/cp/
      	* rtti.c (emit_support_tinfos): Do not iterate on
      	registered_builtin_types (partial revert).
      libstdc++/
      	* config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
      	* config/abi/pre/gnu-versioned-namespace.ver: Likewise.
      	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
      
      From-SVN: r209748
      Marc Glisse committed
    • Fix warning in libgfortran configure script · deb9dd74
      	* configure.ac: Quote usage of ac_cv_func_clock_gettime in if test.
      	* configure: Regenerate.
      
      From-SVN: r209747
      Kyrylo Tkachov committed
    • Update libstdc++ baseline symbols for ia64 · 84c5df1c
      * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
      new CXXABI_1.3.9 symbols.
      
      From-SVN: r209746
      Andreas Schwab committed
    • -fuse-caller-save - Add test-case · 60a9bb61
      2014-04-24  Radovan Obradovic  <robradovic@mips.com>
                  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.dg/fuse-caller-save.c: New test.
      
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r209745
      Radovan Obradovic committed
    • -fuse-caller-save - Add new reg-note REG_CALL_DECL · 4f660b15
      2014-04-24  Radovan Obradovic  <robradovic@mips.com>
                  Tom de Vries  <tom@codesourcery.com>
      
      	* reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
      	* calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
      	reg-note.
      	* combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
      	* emit-rtl.c (try_split): Same.
      
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r209744
      Radovan Obradovic committed
    • -fuse-caller-save - Add command line option · d996e61a
      2014-04-24  Radovan Obradovic  <robradovic@mips.com>
                  Tom de Vries  <tom@codesourcery.com>
      
      	* common.opt (fuse-caller-save): New option.
      
      Co-Authored-By: Tom de Vries <tom@codesourcery.com>
      
      From-SVN: r209743
      Radovan Obradovic committed
    • [AArch64] Reverse TBL indices for big-endian. · bbcc9c00
      2014-04-24  Tejas Belagod  <tejas.belagod@arm.com>
      
             * config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of elements
             for big-endian.
      
      From-SVN: r209742
      Tejas Belagod committed
    • expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree during TER and… · d2d11532
      expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree during TER and instead use the sepops interface...
      
      2014-04-24  Richard Biener  <rguenther@suse.de>
      
      	* expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
      	during TER and instead use the sepops interface for expanding
      	non-GIMPLE_SINGLE_RHS.
      
      From-SVN: r209741
      Richard Biener committed
    • Only redefine ASM_PREFERRED_EH_DATA_FORMAT if necessary on Solaris/x86 · 8117ef98
      	* config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
      	if not HAVE_AS_IX86_DIFF_SECT_DELTA.
      
      From-SVN: r209740
      Rainer Orth committed
    • Fix gcc_cv_as_cfi_directive test for Solaris as · ab0afae3
      	* configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
      	assembler 64-bit option.
      	* configure: Regenerate.
      
      From-SVN: r209739
      Rainer Orth committed
    • nsdmi-union5.C: Change to runtime test. · 1e7251a7
      2014-04-24  Joey Ye  <joey.ye@arm.com>
      
              * g++.dg/cpp0x/nsdmi-union5.C: Change to runtime test.
      
      From-SVN: r209738
      Joey Ye committed
    • [AArch64] Wire up TARGET_SIMD and TARGET_FLOAT properly · 683e3333
      	* config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
      	TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
      	(TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
      	(TARGET_FLOAT): Take AARCH64_ISA_FP into account.
      	(TARGET_CRYPTO): Take TARGET_SIMD into account.
      
      From-SVN: r209737
      Kyrylo Tkachov committed
    • [AArch64] Vectorise bswap[16,32,64] · c7f28cd5
      	* config/aarch64/aarch64-builtins.c
      	(aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
      	BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
      	* config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
      	* config/aarch64/aarch64-simd-builtins.def: Define vector bswap
      	builtins.
      	* config/aarch64/iterator.md (VDQHSD): New mode iterator.
      	(Vrevsuff): New mode attribute.
      
      	* lib/target-supports.exp (check_effective_target_vect_bswap): New.
      	* gcc.dg/vect/vect-bswap16: New test.
      	* gcc.dg/vect/vect-bswap32: Likewise.
      	* gcc.dg/vect/vect-bswap64: Likewise.
      
      From-SVN: r209736
      Kyrylo Tkachov committed