Commit Graph

129001 Commits

Author SHA1 Message Date
Jerry DeLisle f1182dd22b re PR fortran/58324 (Bogus END-of-line error with list-directed I/O of file without trailing sequential record marker)
2014-03-15  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/58324
	* gfortran.dg/list_read_12.f90: New test.

From-SVN: r208592
2014-03-15 15:15:22 +00:00
Jerry DeLisle e94710443a re PR fortran/58324 (Bogus END-of-line error with list-directed I/O of file without trailing sequential record marker)
2014-03-15  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/58324
	* io/list_read.c (finish_list_read): Read one character to check
	for the end of the file.  If it is the end, then issue the file
	end error message.  If not, use eat_line to reach the end
	without giving error.  The next attempt to read will then
	issue the error as described above.

From-SVN: r208591
2014-03-15 15:12:01 +00:00
Janus Weil 68a2304438 re PR fortran/55207 ([F08] Variables declared in the main program should implicitly get the SAVE attribute)
2014-03-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/55207
	* decl.c (match_attr_spec): Variables in the main program implicitly
	get the SAVE attribute in Fortran 2008.


2014-03-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/55207
	* gfortran.dg/assumed_rank_7.f90: Explicitly deallocate variables.
	* gfortran.dg/c_ptr_tests_16.f90: Put into subroutine.
	* gfortran.dg/inline_sum_bounds_check_1.f90: Add
	-Wno-aggressive-loop-optimizations and remove an unused variable.
	* gfortran.dg/intent_optimize_1.f90: Put into subroutine.
	* gfortran.dg/pointer_init_9.f90: New.
	* gfortran.dg/volatile4.f90: Put into subroutine.
	* gfortran.dg/volatile6.f90: Ditto.

From-SVN: r208590
2014-03-15 11:53:04 +01:00
Richard Henderson cfce90ac4a re PR target/60525 (ICE: in final_scan_insn, at final.c:2952)
PR target/60525

	* config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
	define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
	(*floathi<X87MODEF>2_i387_with_temp): Remove.
	(floathi splitters): Remove.
	(float<SWI48x>xf2): New pattern.
	(float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2.  Drop
	code that tried to handle DImode for 32-bit, but which was excluded
	by the pattern's condition.  Drop allocation of stack temporary.
	(*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
	(*float<SWI48><MODEF>2_mixed_with_temp): Remove.
	(*float<SWI48><MODEF>2_mixed_interunit): Remove.
	(*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
	(*floatsi<MODEF>2_vector_sse_with_temp): Remove.
	(*float<SWI48><MODEF>2_sse_with_temp): Remove.
	(*float<SWI48><MODEF>2_sse_interunit): Remove.
	(*float<SWI48><MODEF>2_sse_nointerunit): Remove.
	(*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
	(*float<SWI48x><X87MODEF>2_i387): Remove.
	(all float _with_temp splitters): Remove.
	(*float<SWI48x><MODEF>2_i387): New pattern.
	(*float<SWI48><MODEF>2_sse): New pattern.
	(float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
	(float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.

From-SVN: r208587
2014-03-14 20:24:11 -07:00
Jason Merrill 47b5d284dd re PR c++/60532 (r208573 causes Firefox build failure)
PR c++/60532
	PR c++/58678
	* search.c (get_pure_virtuals): Handle abstract dtor here.
	(dfs_get_pure_virtuals): Not here.

From-SVN: r208586
2014-03-14 21:39:03 -04:00
GCC Administrator 265a9ea763 Daily bump.
From-SVN: r208585
2014-03-15 00:16:43 +00:00
Mikael Morin 88719f2d35 re PR fortran/60392 (Problem with TRANSPOSE and CONTIGUOUS dummy arguments)
fortran/
        PR fortran/60392
        * trans-array.c (gfc_conv_array_parameter): Don't reuse the descriptor
        if it has transposed dimensions.

testsuite/
        PR fortran/60392
        * gfortran.dg/transpose_4.f90: New test.

From-SVN: r208581
2014-03-14 21:28:59 +00:00
Jason Merrill 7e343703fe re PR c++/58678 (pykde4-4.11.2 link error (devirtualization too trigger happy))
PR c++/58678
	* search.c (dfs_get_pure_virtuals): Treat the destructor of an
	abstract class as pure.

From-SVN: r208573
2014-03-14 15:06:54 -04:00
Jonathan Wakely b1520f3d2c re PR ipa/58721 (The subroutine perdida is no longer inlined in fatigue.f90)
PR ipa/58721
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
	_ZNSt12system_errorC* symbols which are not exported on any target.

From-SVN: r208572
2014-03-14 18:10:59 +00:00
Jakub Jelinek 91035653db re PR middle-end/60484 (-fdump-rtl-expand and attribute optimize gives incorrect dump file path)
PR middle-end/60484
	* common.opt (dump_base_name_prefixed): New Variable.
	* opts.c (finish_options): Don't prepend directory to x_dump_base_name
	if x_dump_base_name_prefixed is already set, set it at the end.


Co-Authored-By: Marek Polacek <polacek@redhat.com>

From-SVN: r208571
2014-03-14 17:58:52 +00:00
Vladimir Makarov 9592100294 re PR rtl-optimization/60508 (internal compiler error: in lra_set_insn_recog_data, at lra.c:1082)
2014-03-14  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/60508
	* lra-constraints.c (get_reload_reg): Add new parameter
	in_subreg_p.
	(process_addr_reg, simplify_operand_subreg, curr_insn_transform):
	Pass the new parameter values.

2014-03-14  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/60508
	* gcc.target/i386/pr60508.c: New.

From-SVN: r208570
2014-03-14 16:34:57 +00:00
Jason Merrill 54ce77893d re PR c++/53711 (Wunused-function should warn for functions in the unnamed namespace)
PR c++/53711
	* d++.dg/warn/anonymous-namespace-6.C: New test.

From-SVN: r208569
2014-03-14 11:20:28 -04:00
Richard Biener 25e57622a5 common.opt: Revert unintented changes from r205065.
2014-03-14  Richard Biener  <rguenther@suse.de>

	* common.opt: Revert unintented changes from r205065.
	* opts.c: Likewise.

From-SVN: r208568
2014-03-14 13:09:41 +00:00
Richard Biener 1f3388fec4 re PR ipa/60518 (ICE: in verify_loop_structure, at cfgloop.c:1647)
2014-03-14  Richard Biener  <rguenther@suse.de>

	PR middle-end/60518
	* cfghooks.c (split_block): Properly adjust all loops the
	block was a latch of.

	* g++.dg/pr60518.C: New testcase.

From-SVN: r208567
2014-03-14 12:54:25 +00:00
Martin Jambor 3d354792e6 re PR lto/60461 (LTO linking error at -Os (and above) on x86_64-linux-gnu)
2014-03-13  Martin Jambor  <mjambor@suse.cz>

	PR lto/60461
	* ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
	and simplify it.

testsuite/
	* gcc.dg/lto/pr60461_0.c: New test.

From-SVN: r208566
2014-03-14 11:49:05 +01:00
Cesar Philippidis 5cbf2c71aa save-temps_0.c: New file.
2014-03-14  Cesar Philippidis  <cesar@codesourcery.com>

	gcc/testsuite/
	* gcc.dg/lto/save-temps_0.c: New file.
	* lib/gcc-dg.exp (cleanup-saved-temps): Handle LTO temporaries.
	* lib/lto.exp (lto-execute): Cleanup LTO temporaries.

From-SVN: r208563
2014-03-14 09:33:15 +00:00
Georg-Johann Lay 2832dc2203 re PR target/59396 ([avr] Wrong warning with ISR() and -flto)
PR target/59396
	* config/avr/avr.c (avr_set_current_function): Pass function name
	through default_strip_name_encoding before sanity checking instead
	of skipping the first char of the assembler name.

From-SVN: r208562
2014-03-14 09:27:19 +00:00
GCC Administrator 6cdea8070c Daily bump.
From-SVN: r208561
2014-03-14 00:17:05 +00:00
Uros Bizjak dd19cdda76 * regex.c (bzero) [!_LIBC]: Cast the call to memcpy to (void).
From-SVN: r208558
2014-03-13 23:04:07 +01:00
Jakub Jelinek 39a1ebb3dd re PR middle-end/36282 (Spurious warning "asm declaration ignored due to conflict with previous rename")
PR middle-end/36282
	* c-pragma.c (apply_pragma_weak): Only look at
	TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
	DECL_ASSEMBLER_NAME_SET_P (decl).
	(maybe_apply_pending_pragma_weaks): Exit early if
	vec_safe_is_empty (pending_weaks) rather than only when
	!pending_weaks.
	(maybe_apply_pragma_weak): Likewise.  If !DECL_ASSEMBLER_NAME_SET_P,
	set assembler name back to NULL afterwards.

	* c-c++-common/pr36282-1.c: New test.
	* c-c++-common/pr36282-2.c: New test.
	* c-c++-common/pr36282-3.c: New test.
	* c-c++-common/pr36282-4.c: New test.

From-SVN: r208557
2014-03-13 21:56:06 +01:00
Richard Henderson 3386d77eb8 re PR debug/60438 (dwarf2cfi :2239 still assert,not the same cause as PR 59575)
PR debug/60438

        * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
        (ix86_force_to_memory, ix86_free_from_memory): Remove.
        * config/i386/i386-protos.h: Likewise.
        * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
        in the expander instead of a splitter.
        (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
        any possibility of requiring a memory.
        (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
        (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
        (fp branch splitters): Update for ix86_split_fp_branch.
        (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
        (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
        (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
        (*fop_<MODEF>_2_i387): Remove f/r alternative.
        (*fop_<MODEF>_3_i387): Likewise.
        (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
        (splitters for the fop_* register patterns): Remove.
        (fscalexf4_i387): Rename from *fscalexf4_i387.
        (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.

From-SVN: r208556
2014-03-13 13:24:56 -07:00
Jakub Jelinek 5b5d7f31c2 re PR tree-optimization/59779 (FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop")
PR tree-optimization/59779
	* tree-dfa.c (get_ref_base_and_extent): Use double_int
	type for bitsize and maxsize instead of HOST_WIDE_INT.

From-SVN: r208554
2014-03-13 20:10:05 +01:00
Uros Bizjak 52684bb3c8 regex.c (bzero): Define without coma expression.
* regex.c (bzero) [!_LIBC]: Define without coma expression.
	(regerror): Cast the call to memcpy to (void) to avoid unused
	value warnings.

From-SVN: r208553
2014-03-13 19:34:47 +01:00
Steven Bosscher bdc6e1ae29 re PR rtl-optimization/57320 (Shrink-wrapping leaves unreachable blocks in the CFG)
PR rtl-optimization/57320
	* function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
	the CFG after thread_prologue_and_epilogue_insns.

From-SVN: r208551
2014-03-13 19:01:48 +01:00
Paolo Carlini b0a8740278 re PR c++/60383 (ICE with invalid template specialization)
/cp
2014-03-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60383
	* pt.c (maybe_process_partial_specialization): Check return value
	of check_specialization_namespace.

/testsuite
2014-03-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60383
	* g++.dg/template/crash118.C: New.
	* g++.dg/template/crash95.C: Adjust.

From-SVN: r208550
2014-03-13 16:05:15 +00:00
Vladimir Makarov 7891065aa7 re PR rtl-optimization/57189 (Vector register is spilled for vector extract pattern)
2014-03-13  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/57189
	* lra-constraints.c (process_alt_operands): Disfavor spilling
	vector pseudos.

2014-03-13  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/57189
	* gcc.target/i386/pr57189.c: New.

From-SVN: r208549
2014-03-13 15:52:50 +00:00
Eric Botcazou 00c5acd39f re PR ada/51483 (cstand.adb:Register_Float_Type makes invalid assumption about FP modes)
PR ada/51483
	* cstand.adb (Register_Float_Type): Add 'precision' parameter and use
	it to set the RM size.  Use directly 'size' for the Esize.
	(Create_Back_End_Float_Types): Adjust call to above.
	* get_targ.ads (Register_Type_Proc): Add 'precision' parameter.
	* set_targ.ads (FPT_Mode_Entry): Add 'precision' component.
	(Write_Target_Dependent_Values): Adjust comment.
	* set_targ.adb (Register_Float_Type): Add 'precision' parameter and
	deal with it.
	(Write_Target_Dependent_Values): Write the precision in lieu of size.
	(Initialization): Read the precision in lieu of size and compute the
	size from the precision and the alignment.
	* gcc-interface/gigi.h (enumerate_modes): Add integer parameter.
	* gcc-interface/misc.c (enumerate_modes): Likewise.  Do not register
	types for vector modes, pass the size in addition to the precision.

From-SVN: r208546
2014-03-13 15:42:21 +00:00
Paolo Carlini 9299bde01a re PR c++/60254 ([c++11] ICE with non-const expression in static_assert)
/cp
2014-03-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60254
	* semantics.c (finish_static_assert): Call cxx_constant_value only
	if require_potential_rvalue_constant_expression returns true.

/testsuite
2014-03-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60254
	* g++.dg/cpp0x/static_assert10.C: New.
	* g++.dg/cpp0x/static_assert11.C: Likewise.
	* g++.dg/cpp0x/static_assert3.C: Adjust.

From-SVN: r208538
2014-03-13 09:51:52 +00:00
Cesar Philippidis eba14fca89 lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
2014-03-13  Cesar Philippidis  <cesar@codesourcery.com>

	* lto-wrapper.c (maybe_unlink_file): Suppress diagnostic
	messages.

From-SVN: r208537
2014-03-13 09:50:26 +00:00
Richard Biener 11a860e30d lto.exp (lto-execute): Fix error catching for dg-final.
2014-03-13  Richard Biener  <rguenther@suse.de>

	* lib/lto.exp (lto-execute): Fix error catching for dg-final.

From-SVN: r208536
2014-03-13 09:48:16 +00:00
Jakub Jelinek f661b085ba re PR tree-optimization/59025 (Revision 203979 causes failure in CPU2006 benchmark 435.gromacs)
PR tree-optimization/59025
	PR middle-end/60418
	* tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
	same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.

From-SVN: r208535
2014-03-13 10:38:28 +01:00
Georg-Johann Lay 8f3a3138b6 re PR target/60486 ([avr] superfluous or missing comparision after addition or subtraction)
PR target/60486
	* config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
	calls of avr_out_plus_1.

From-SVN: r208532
2014-03-13 09:16:53 +00:00
Uros Bizjak 0bb29a056a ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
	* testsuite/ChangeLog: Ditto.

From-SVN: r208530
2014-03-13 08:30:45 +01:00
Jerry DeLisle 3b63b663d7 re PR libfortran/38199 (missed optimization: I/O performance)
2014-03-12  Jerry DeLisle  <jvdelisle@gcc.gnu>

	PR libfortran/38199
	* io/read.c (read_decimal): Quickly skip spaces to avoid calls
	to next_char.
	* io/unit.c (is_trim_ok): New helper function to check various
	conditions to see if its OK to trim the internal unit string.
	(get_internal_unit): Use LEN_TRIM to shorten selected internal
	unit strings for optimizing READ. Enable this optimization for
	formatted READ.
	* io/list_read.c (finish_list_read): Don't call eat_line for
	internal units.

From-SVN: r208528
2014-03-13 05:06:57 +00:00
Bin Cheng d731ee0442 tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record BB's single pred and update the father loop's latch info later.
* tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
	BB's single pred and update the father loop's latch info later.

From-SVN: r208527
2014-03-13 02:40:08 +00:00
GCC Administrator 9f493d9da6 Daily bump.
From-SVN: r208525
2014-03-13 00:17:03 +00:00
Michael Meissner a16a872d44 vector.md (VEC_L): Add V1TI mode to vector types.
[gcc]
2014-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
	(VEC_M): Likewise.
	(VEC_N): Likewise.
	(VEC_R): Likewise.
	(VEC_base): Likewise.
	(mov<MODE>, VEC_M modes): If we are loading TImode into VSX
	registers, we need to swap double words in little endian mode.

	* config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
	to be a container mode for 128-bit integer operations added in ISA
	2.07.  Unlike TImode and PTImode, the preferred register set is
	the Altivec/VMX registers for the 128-bit operations.

	* config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
	declarations.
	(rs6000_split_128bit_ok_p): Likewise.

	* config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
	macros for creating ISA 2.07 normal and overloaded builtin
	functions with 3 arguments.
	(BU_P8V_OVERLOAD_3): Likewise.
	(VPERM_1T): Add support for V1TImode in 128-bit vector operations
	for use as overloaded functions.
	(VPERM_1TI_UNS): Likewise.
	(VSEL_1TI): Likewise.
	(VSEL_1TI_UNS): Likewise.
	(ST_INTERNAL_1ti): Likewise.
	(LD_INTERNAL_1ti): Likewise.
	(XXSEL_1TI): Likewise.
	(XXSEL_1TI_UNS): Likewise.
	(VPERM_1TI): Likewise.
	(VPERM_1TI_UNS): Likewise.
	(XXPERMDI_1TI): Likewise.
	(SET_1TI): Likewise.
	(LXVD2X_V1TI): Likewise.
	(STXVD2X_V1TI): Likewise.
	(VEC_INIT_V1TI): Likewise.
	(VEC_SET_V1TI): Likewise.
	(VEC_EXT_V1TI): Likewise.
	(EQV_V1TI): Likewise.
	(NAND_V1TI): Likewise.
	(ORC_V1TI): Likewise.
	(VADDCUQ): Add support for 128-bit integer arithmetic instructions
	added in ISA 2.07.  Add both normal 'altivec' builtins, and the
	overloaded builtin.
	(VADDUQM): Likewise.
	(VSUBCUQ): Likewise.
	(VADDEUQM): Likewise.
	(VADDECUQ): Likewise.
	(VSUBEUQM): Likewise.
	(VSUBECUQ): Likewise.

	* config/rs6000/rs6000-c.c (__int128_type): New static to hold
	__int128_t and __uint128_t types.
	(__uint128_type): Likewise.
	(altivec_categorize_keyword): Add support for vector __int128_t,
	vector __uint128_t, vector __int128, and vector unsigned __int128
	as a container type for TImode operations that need to be done in
	VSX/Altivec registers.
	(rs6000_macro_to_expand): Likewise.
	(altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
	to support 128-bit integer instructions vaddcuq, vadduqm,
	vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
	(altivec_resolve_overloaded_builtin): Add support for V1TImode.

	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
	for V1TImode, and set up preferences to use VSX/Altivec
	registers.  Setup VSX reload handlers.
	(rs6000_debug_reg_global): Likewise.
	(rs6000_init_hard_regno_mode_ok): Likewise.
	(rs6000_preferred_simd_mode): Likewise.
	(vspltis_constant): Do not allow V1TImode as easy altivec
	constants.
	(easy_altivec_constant): Likewise.
	(output_vec_const_move): Likewise.
	(rs6000_expand_vector_set): Convert V1TImode set and extract to
	simple move.
	(rs6000_expand_vector_extract): Likewise.
	(reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
	addressing.
	(rs6000_const_vec): Add support for V1TImode.
	(rs6000_emit_le_vsx_load): Swap double words when loading or
	storing TImode/V1TImode.
	(rs6000_emit_le_vsx_store): Likewise.
	(rs6000_emit_le_vsx_move): Likewise.
	(rs6000_emit_move): Add support for V1TImode.
	(altivec_expand_ld_builtin): Likewise.
	(altivec_expand_st_builtin): Likewise.
	(altivec_expand_vec_init_builtin): Likewise.
	(altivec_expand_builtin): Likewise.
	(rs6000_init_builtins): Add support for V1TImode type.  Add
	support for ISA 2.07 128-bit integer builtins.  Define type names
	for the VSX/Altivec vector types.
	(altivec_init_builtins): Add support for overloaded vector
	functions with V1TImode type.
	(rs6000_preferred_reload_class): Prefer Altivec registers for
	V1TImode.
	(rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
	external function.
	(rs6000_split_128bit_ok_p): Likewise.
	(rs6000_handle_altivec_attribute): Create V1TImode from vector
	__int128_t and vector __uint128_t.

	* config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
	and mode attributes.
	(VSX_M): Likewise.
	(VSX_M2): Likewise.
	(VSm): Likewise.
	(VSs): Likewise.
	(VSr): Likewise.
	(VSv): Likewise.
	(VS_scalar): Likewise.
	(VS_double): Likewise.
	(vsx_set_v1ti): New builtin function to create V1TImode from
	TImode.

	* config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say
	whether we support the ISA 2.07 128-bit integer arithmetic
	instructions.
	(ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
	(enum rs6000_builtin_type_index): Add fields to hold V1TImode
	and TImode types for use with the builtin functions.
	(V1TI_type_node): Likewise.
	(unsigned_V1TI_type_node): Likewise.
	(intTI_type_internal_node): Likewise.
	(uintTI_type_internal_node): Likewise.

	* config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA
	2.07 128-bit builtin functions.
	(UNSPEC_VADDEUQM): Likewise.
	(UNSPEC_VADDECUQ): Likewise.
	(UNSPEC_VSUBCUQ): Likewise.
	(UNSPEC_VSUBEUQM): Likewise.
	(UNSPEC_VSUBECUQ): Likewise.
	(VM): Add V1TImode to vector mode iterators.
	(VM2): Likewise.
	(VI_unit): Likewise.
	(altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
	(altivec_vaddcuq): Likewise.
	(altivec_vsubuqm): Likewise.
	(altivec_vsubcuq): Likewise.
	(altivec_vaddeuqm): Likewise.
	(altivec_vaddecuq): Likewise.
	(altivec_vsubeuqm): Likewise.
	(altivec_vsubecuq): Likewise.

	* config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
	mode iterators.
	(BOOL_128): Likewise.
	(BOOL_REGS_OUTPUT): Likewise.
	(BOOL_REGS_OP1): Likewise.
	(BOOL_REGS_OP2): Likewise.
	(BOOL_REGS_UNARY): Likewise.
	(BOOL_REGS_AND_CR0): Likewise.

	* config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
	128-bit integer builtin support.
	(vec_vadduqm): Likewise.
	(vec_vaddecuq): Likewise.
	(vec_vaddeuqm): Likewise.
	(vec_vsubecuq): Likewise.
	(vec_vsubeuqm): Likewise.
	(vec_vsubcuq): Likewise.
	(vec_vsubuqm): Likewise.

	* doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
	Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
	vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
	128-bit integer add/subtract to ISA 2.07.

[gcc/testsuite]
2014-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/p8vector-int128-1.c: New test to test ISA
	2.07 128-bit arithmetic.
	* gcc.target/powerpc/p8vector-int128-2.c: Likewise.

	* gcc.target/powerpc/timode_off.c: Restrict cpu type to power5,
	due to when TImode is allowed in VSX registers, the allowable
	address modes for TImode is just a single indirect address in
	order for the value to be loaded and store in either GPR or VSX
	registers.  This affects the generated code, and it would cause
	this test to fail, when such an option is used.

From-SVN: r208522
2014-03-13 00:11:56 +00:00
Joern Rennecke eeac7d1514 arc.c (arc_predicate_delay_insns): Fix third argument passed to conditionalize_nonjump.
* config/arc/arc.c (arc_predicate_delay_insns): 
        Fix third argument passed to conditionalize_nonjump.

From-SVN: r208521
2014-03-13 00:02:37 +00:00
Roland McGrath 90021b558c PR libstdc++/59392: Fix ARM EABI uncaught throw from unexpected exception handler
libstdc++-v3/
	PR libstdc++/59392
	* libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
	the address of a null pointer, not with a null pointer to pointer.
	Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
	* testsuite/18_support/bad_exception/59392.cc: New file.

Co-Authored-By: Mark Seaborn <mseaborn@google.com>

From-SVN: r208519
2014-03-12 22:42:13 +00:00
Yufeng Zhang bf0f324ea4 gcc/
* config/aarch64/aarch64-builtins.c
	(aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
	BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
	* config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
	instead of __builtin_lfloor.
	(vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.

From-SVN: r208517
2014-03-12 16:35:53 +00:00
Yufeng Zhang 5309143d87 sysv.S (ffi_closure_SYSV): Use x29 as the main CFA reg; update cfi_rel_offset.
libffi/

	* src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the
	main CFA reg; update cfi_rel_offset.

From-SVN: r208515
2014-03-12 16:18:29 +00:00
Marcus Shawcroft 3d05d0c0fa Ensure UNSUPPORTED tests in tree-prof do not report absolute paths.
The test infrastructure for gcc.dg/tree-prof reports relative paths
for all test outcomes except UNSUPPORTED, for which it reports the
absolute path of the test case.  This patch ensure a relative path is
reported consistently reducing noise in regression test comparisons.

From-SVN: r208514
2014-03-12 14:55:54 +00:00
Jakub Jelinek bf4787b267 tree-ssa-ifcombine.c (forwarder_block_to): New function.
* tree-ssa-ifcombine.c (forwarder_block_to): New function.
	(tree_ssa_ifcombine_bb_1): New function.
	(tree_ssa_ifcombine_bb): Use it.  Handle also cases where else_bb
	is an empty forwarder block to then_bb or vice versa and then_bb
	and else_bb are effectively swapped.

	* gcc.dg/tree-ssa/ssa-ifcombine-12.c: New test.
	* gcc.dg/tree-ssa/ssa-ifcombine-13.c: New test.
	* gcc.dg/tree-ssa/phi-opt-2.c: Pass -mbranch-cost=1 if
	possible, only test for exactly one if if -mbranch-cost=1
	has been passed.

From-SVN: r208512
2014-03-12 13:59:03 +01:00
Christian Bruel 7d55b94832 re PR target/60264 (ARM ICE in dwarf2out_frame_debug_adjust_cfa, at dwarf2cfi.c:1090)
2014-03-12  Christian Bruel  <christian.bruel@st.com>

        PR target/60264
        * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a REG_CFA_DEF_CFA
        note.
        (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
        (arm_unwind_emit): Allow REG_CFA_DEF_CFA.

From-SVN: r208511
2014-03-12 12:31:19 +01:00
Uros Bizjak c3da584c59 dwarf2-signal.h: Update copyright year.
* include/dwarf2-signal.h: Update copyright year.
	(SIGNAL_HANDLER): Remove _sip argument.  Mark _p argument with
	__attribute__ ((__unused__)).
	(class java::lang::Throwable): Remove declaration.
	(MAKE_THROW_FRAME) [!__ia64__]: Define as empty definition.

From-SVN: r208510
2014-03-12 12:19:05 +01:00
Thomas Preud'homme 882a5fbe3c re PR tree-optimization/60454 (Code mistakenly detected as doing bswap)
PR tree-optimization/60454
	* tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.

	* gcc.c-torture/execute/pr60454.c: New test.

From-SVN: r208509
2014-03-12 11:15:29 +01:00
Kyrylo Tkachov a3cd024676 [AArch64] Fix selection of default CPU options at configure-time
* config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
	Do not define target_cpu_default2 to generic.
	* config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
	* config/aarch64/aarch64.c (aarch64_override_options): Update comment.
	* config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.

From-SVN: r208508
2014-03-12 10:13:07 +00:00
Jakub Jelinek c888139c9a re PR tree-optimization/60502 (ICE reassociation and vector types.)
PR tree-optimization/60502
	* tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
	instead of build_low_bits_mask.

	* gcc.c-torture/compile/pr60502.c: New test.

Co-Authored-By: Marc Glisse <marc.glisse@inria.fr>

From-SVN: r208507
2014-03-12 10:21:59 +01:00
Jakub Jelinek b24ca895d7 re PR middle-end/60482 (Loop optimization regression)
PR middle-end/60482
	* tree-vrp.c (register_edge_assert_for_1): Don't add assert
	if there are multiple uses, but op doesn't live on E edge.
	* tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
	clobber stmts before __builtin_unreachable.

	* gcc.dg/vect/pr60482.c: New test.

From-SVN: r208506
2014-03-12 10:15:08 +01:00
Ian Lance Taylor 33a9145bb7 libgo: Build math package with -ffp-contract=off on non-x86.
http://golang.org/issue/7074 shows that not using
-ffp-contract=off produces the wrong result for math.Log2(1)
on arm64.

From-SVN: r208505
2014-03-12 04:38:52 +00:00