Commit Graph

123575 Commits

Author SHA1 Message Date
Dehao Chen 25e25c732c Change the discriminator assignment algorithm to make it more robust.
2013-05-24  Dehao Chen  <dehao@google.com>

	* gcc/testsuite/gcc.dg/debug/dwarf2/discriminator.c: New Testcase.
	* gcc/tree-cfg.c (locus_descrim_hasher::hash): Change discrminator
	hash function.
	(locus_descrim_hasher::equal): Likewise.
	(build_gimple_cfg): New discrminator assignmnet algorithm
	(make_edges): Likewise.
	(next_discriminator_for_locus): Likewise.
	(same_line_p): Likewise.
	(assign_discriminators): Likewise.
	(make_cond_expr_edges): Likewise.
	(make_gimple_switch_edges): Likewise.
	(make_goto_expr_edges): Likewise.
	(make_gimple_asm_edges): Likewise.

From-SVN: r199295
2013-05-24 15:04:09 +00:00
Ian Bolton 06d50e2171 AArch64 - fix invalid assembler in testcase
From-SVN: r199294
2013-05-24 14:59:20 +00:00
Ian Bolton 50d38551ee AArch64 - allow insv_imm to handle bigger immediates via masking to 16 bits
From-SVN: r199293
2013-05-24 14:54:15 +00:00
Jason Merrill f746a02923 re PR c++/57391 (ICE compiling AIX math.h caused by PR c++/56930)
PR c++/57391
	* semantics.c (cxx_eval_constant_expression): Handle FMA_EXPR.
	(cxx_eval_trinary_expression): Rename from cxx_eval_vec_perm_expr.

From-SVN: r199292
2013-05-24 10:16:45 -04:00
Richard Biener aea0101d95 re PR middle-end/57287 (Bogus uninitialized warning with abnormal control flow)
2013-05-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/57287
	* tree-ssa-uninit.c (compute_uninit_opnds_pos): Disregard
	all SSA names that occur in abnormal PHIs.

	* gcc.dg/pr57287.c: New testcase.

From-SVN: r199289
2013-05-24 12:44:58 +00:00
Paolo Carlini 99b8202a11 re PR c++/26572 (Invalid local class definition not diagnosed)
2013-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/26572
	* g++.dg/template/error51.C: New.

2013-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/25503
	* g++.dg/template/bitfield2.C: New.

From-SVN: r199288
2013-05-24 10:05:22 +00:00
Eric Botcazou df09b22cf9 gigi.h (gnat_init_gcc_fp): Declare.
* gcc-interface/gigi.h (gnat_init_gcc_fp): Declare.
	* gcc-interface/trans.c (gigi): Call it.
	* gcc-interface/misc.c (gnat_init_gcc_fp): New function.

From-SVN: r199287
2013-05-24 09:40:28 +00:00
Eric Botcazou 0e24192cc9 gigi.h (enum inline_status_t): New type.
* gcc-interface/gigi.h (enum inline_status_t): New type.
	(create_subprog_decl): Adjust prototype.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Adjust
	calls to create_subprog_decl.
	(get_minimal_subprog_decl): Likewise.
	* gcc-interface/trans.c (gigi): Likewise.
	(build_raise_check): Likewise.
	(establish_gnat_vms_condition_handler): Likewise.
	(Compilation_Unit_to_gnu): Likewise.
	(gnat_to_gnu): Likewise.
	* gcc-interface/utils.c (create_subprog_decl): Change inline_flag
	parameter to inline_status and implement for suppressed inlining.

From-SVN: r199286
2013-05-24 09:31:33 +00:00
Rainer Orth 828012a527 Use -z ignore instead of --as-needed on Solaris
* acinclude.m4 (libgfor_cv_have_as_needed): Check for -z ignore, too.
	* configure: Regenerate.

From-SVN: r199285
2013-05-24 09:23:33 +00:00
Kirill Yukhin 905b92cb01 re PR tree-optimization/57385 ([tree-ssa] Possible segfault in fully_constant_vn_reference_p)
PR tree-ssa/57385
	* gcc.dg/tree-ssa/pr57385.c: New test.

From-SVN: r199283
2013-05-24 09:11:56 +00:00
Alexander Ivchenko 634e03d3b8 re PR tree-optimization/57385 ([tree-ssa] Possible segfault in fully_constant_vn_reference_p)
gcc/ChangeLog
        PR tree-ssa/57385
        * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Check
        that index is not negative.

gcc/testsuite/ChangeLog
        PR tree-ssa/57385
        * gcc.dg/tree-ssa/pr57385.c: New test.

From-SVN: r199282
2013-05-24 09:08:45 +00:00
Eric Botcazou 633a3f2aea ada-tree.h (LOOP_STMT_NO_UNROLL): New define.
* gcc-interface/ada-tree.h (LOOP_STMT_NO_UNROLL): New define.
	(LOOP_STMT_UNROLL): Likewise.
	(LOOP_STMT_NO_VECTOR): Likewise.
	(LOOP_STMT_VECTOR): Likewise.
	* gcc-interface/trans.c (struct loop_info_d): Replace label field
	with stmt field.
	(Pragma_to_gnu) <Pragma_Loop_Optimize>: New case.
	(Loop_Statement_to_gnu): Save the loop statement onto the stack
	instead of the label.
	(gnat_to_gnu) <N_Exit_Statement>: Retrieve the loop label.

From-SVN: r199281
2013-05-24 08:52:35 +00:00
Eric Botcazou f2423384e6 trans.c: Include diagnostic.h and opts.h.
* gcc-interface/trans.c: Include diagnostic.h and opts.h.
	(Pragma_to_gnu) <Pragma_Warnings>: New case.

From-SVN: r199280
2013-05-24 08:44:14 +00:00
Eric Botcazou 908ba941c3 decl.c (gnat_to_gnu_entity): Constify a handful of local variables.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Constify
	a handful of local variables.
	For a derived untagged type that renames discriminants, change the type
	of the stored discriminants to a subtype with the bounds of the type
	of the visible discriminants.
	(build_subst_list): Rename local variable.

From-SVN: r199279
2013-05-24 08:27:55 +00:00
Eric Botcazou b17c024fa9 re PR tree-optimization/55177 (missed optimizations with __builtin_bswap)
PR rtl-optimization/55177
	* simplify-rtx.c (simplify_unary_operation_1) <NOT>: Deal with BSWAP.
	(simplify_byte_swapping_operation): New.
	(simplify_binary_operation_1): Call it for AND, IOR and XOR.
	(simplify_relational_operation_1): Deal with BSWAP.

From-SVN: r199278
2013-05-24 06:46:11 +00:00
GCC Administrator d0c70325c9 Daily bump.
From-SVN: r199273
2013-05-24 00:16:41 +00:00
Mike Stump cd192ccc8a c-typeck.c (convert_for_assignment): Handle references to memory spaces better.
* c-typeck.c (convert_for_assignment): Handle references to memory
	spaces better.

From-SVN: r199270
2013-05-23 21:57:39 +00:00
Jason Merrill 39bde5eae3 re PR c++/57388 ([C++11] ICE when function types with ref-qualifiers meet other function types)
PR c++/57388
	* tree.c (build_ref_qualified_type): Clear
	FUNCTION_RVALUE_QUALIFIED for lvalue ref-qualifier.

From-SVN: r199269
2013-05-23 16:51:22 -04:00
Richard Henderson 46aeac1b9f re PR rtl-optimization/56742 (Optimization bug lead to uncaught throw)
PR target/56742

        * config/i386/i386.c (ix86_seh_fixup_eh_fallthru): New.
        (ix86_reorg): Call it.

From-SVN: r199264
2013-05-23 12:10:56 -07:00
Uros Bizjak 70cc153622 re PR target/57379 (Segfault in invalidate_any_buried_refs (x=0x0) at ../../gcc-svn/trunk/gcc/gcse.c:3850)
PR target/57379
	* config/alpha/alpha.md (unspec): Add UNSPEC_XFLT_COMPARE.
	* config/alpha/alpha.c (alpha_emit_xfloating_compare): Construct
	REG_EQUAL note as UNSPEC_XFLT_COMPARE unspec.

From-SVN: r199263
2013-05-23 20:32:12 +02:00
Christian Bruel b3851501be re PR debug/57351 (ICE: internal compiler error: in dbx_reg_number, at dwarf2out.c:10507 on arm-none-eabi)
2013-05-23  Christian Bruel  <christian.bruel@st.com>

        PR debug/57351
        * config/arm/arm.c (arm_dwarf_register_span): Do not use dbx number.

From-SVN: r199261
2013-05-23 16:20:07 +02:00
Chris Schlumberger-Socha 4e19491265 [AArch64] Remove Usa constraint.
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>

From-SVN: r199260
2013-05-23 14:16:50 +00:00
Chris Schlumberger-Socha 83f8c41484 [AArch64] Refactor aarch64_mov_operand predicate.
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>

From-SVN: r199259
2013-05-23 14:09:39 +00:00
Matthias Klose 6ca935e617 Makefile.am (bits_headers): Remove ${bits_host_headers}.
2013-05-23  Matthias Klose  <doko@ubuntu.com>

        * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
        (ext_headers): Remove ${ext_host_headers}.
        (stamp-${host_alias}): Create ${host_builddir}/../ext.
        (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
        (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
        * include/Makefile.in: Regenerate.
        * include/ext/random: Include ext/opt_random.h.

From-SVN: r199257
2013-05-23 14:02:14 +00:00
Martin Jambor 76c36cb15b Fixed ChangeLog dates.
From-SVN: r199256
2013-05-23 15:45:17 +02:00
Vidya Praveen b557423234 [AArch64] Support for CLZ
2013-05-23  Vidya Praveen <vidyapraveen@arm.com>

        * config/aarch64/aarch64-simd.md (clzv4si2): Support for CLZ
          instruction (AdvSIMD).
        * config/aarch64/aarch64-builtins.c
          (aarch64_builtin_vectorized_function): Handler for BUILT_IN_CLZ.
        * config/aarch64/aarch-simd-builtins.def: Entry for CLZ.

From-SVN: r199254
2013-05-23 13:36:41 +00:00
Martin Jambor 7d2fb5244b re PR middle-end/57347 (wrong code for bitfield on x86_64-linux at -Os and above)
2013-05-22  Martin Jambor  <mjambor@suse.cz>

	PR middle-end/57347
	* tree.h (contains_bitfld_component_ref_p): Declare.
	* tree-sra.c (contains_bitfld_comp_ref_p): Move...
	* tree.c (contains_bitfld_component_ref_p): ...here.  Adjust its caller.
	* ipa-prop.c (determine_known_aggregate_parts): Check that LHS does
	not access a bit-field.  Assert all final offsets are byte-aligned.

testsuite/
	* gcc.dg/ipa/pr57347.c: New test.

From-SVN: r199252
2013-05-23 15:20:41 +02:00
Alexander Ivchenko 877251155b inclhack.def (complier_h_tradcpp): New.
* inclhack.def (complier_h_tradcpp): New.
        * fixincl.x: Rebuilt.
        * tests/base/linux/compiler.h: New.

From-SVN: r199249
2013-05-23 12:52:01 +00:00
Richard Biener ce521ae644 re PR tree-optimization/57380 (GCC 4.9.0 will not vectorize std::max and similar functions)
2013-05-23  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/57380
	* tree-ssa-phiprop.c (propagate_with_phi): Do not require at
	least one invariant or re-used load.
	* passes.c (init_optimization_passes): Move pass_phiprop before
	pass_forwprop.

	* g++.dg/tree-ssa/pr57380.C: New testcase.

From-SVN: r199246
2013-05-23 12:23:59 +00:00
James Greenhalgh 75c7257f75 [AArch64] Fix possible wrong code generation when comparing DImode values.
gcc/
	* config/aarch64/aarch64-simd.md
	(aarch64_cm<optab>di): Add clobber of CC_REGNUM to unsplit pattern.

From-SVN: r199241
2013-05-23 10:18:19 +00:00
Richard Biener af6d44b573 re PR rtl-optimization/57381 (array of volatile pointers hangs gcc)
2013-05-23  Richard Biener  <rguenther@suse.de>

	PR middle-end/57381
	* fold-const.c (operand_equal_p): Compare FIELD_DECLs with
	OEP_CONSTANT_ADDRESS_OF retained.

	* gcc.dg/torture/pr57381.c: New testcase.

From-SVN: r199240
2013-05-23 10:08:33 +00:00
Jakub Jelinek bd3647bf76 re PR rtl-optimization/57344 (wrong code with pragma pack(1) and -O1 on x86)
PR middle-end/57344
	* expmed.c (store_split_bit_field): If op0 is a REG or
	SUBREG of a REG, don't lower unit.  Handle unit not being
	always BITS_PER_WORD.

	* gcc.c-torture/execute/pr57344-1.c: New test.
	* gcc.c-torture/execute/pr57344-2.c: New test.
	* gcc.c-torture/execute/pr57344-3.c: New test.
	* gcc.c-torture/execute/pr57344-4.c: New test.

From-SVN: r199238
2013-05-23 11:17:34 +02:00
Richard Biener a55757eae4 re PR target/57341 (wrong code on x86_64-linux at -O3 in 32-bit mode)
2013-05-23  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/57341
	* ira.c (validate_equiv_mem_from_store): Use anti_dependence
	instead of true_dependence.

	* gcc.dg/torture/pr57341.c: New testcase.

From-SVN: r199237
2013-05-23 08:37:24 +00:00
Michael Meissner 406bdd7d8f add missing file
From-SVN: r199233
2013-05-23 03:55:04 +00:00
Jason Merrill da834cfcb0 re PR c++/56930 (pointless -Wconversion warning with sizeof)
PR c++/56930
	* call.c (convert_like_real): Use cp_convert_and_check.
	* cvt.c (cp_convert_and_check): Use maybe_constant_value.
	* semantics.c (cxx_eval_constant_expression): Handle LTGT_EXPR.
	(potential_constant_expression_1): Handle OMP_ATOMIC*.

From-SVN: r199232
2013-05-22 23:47:35 -04:00
Jason Merrill 2701664a02 re PR c++/56915 (ICE in symtab_add_to_same_comdat_group, at symtab.c:383)
PR c++/56915
	* semantics.c (maybe_add_lambda_conv_op): Give up if the call op
	isn't defined.

From-SVN: r199231
2013-05-22 23:46:44 -04:00
David Malcolm cfb00b41d9 bb-reorder.c (branch_threshold): make const
gcc/
	* bb-reorder.c (branch_threshold): make const
	(exec_threshold): ditto

From-SVN: r199230
2013-05-23 02:19:36 +00:00
GCC Administrator 02dbac5e35 Daily bump.
From-SVN: r199228
2013-05-23 00:16:39 +00:00
Paolo Carlini 3d09a9fd04 re PR c++/57352 (internal compiler error in cp_parser_abort_tentative_parse at cp/parser.c:22878)
/cp
2013-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57352
	* parser.c (cp_parser_conversion_type_id): Set up
	parser->type_definition_forbidden_message before calling
	cp_parser_type_specifier_seq.

/testsuite
2013-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57352
	* g++.dg/parse/crash62.C: New.

From-SVN: r199224
2013-05-22 22:45:55 +00:00
Mark Mitchell 4623df015a configure.ac (dbexecdir): Base on $(toolexeclibdir), not $(libdir).
2013-05-22  Mark Mitchell  <mark@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	libjava/	    
	* configure.ac (dbexecdir): Base on $(toolexeclibdir), not
	$(libdir).
	* Makefile.am (pkgconfigdir): Likewise.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* gcj/Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* testsuite/Makefile.in: Regenerated.

	libjava/classpath/
	* configure.ac: Define host_noncanonical and target_noncanonical.
	Support --enable-version-specific-runtime-libs.
	* m4/acinclude.m4 (CLASSPATH_TOOLEXECLIBDIR): Match libjava
	definition of toolexeclibdir.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* doc/api/Makefile.in: Regenerated.
	* doc/Makefile.in: Regenerated.
	* examples/Makefile.in: Regenerated.
	* external/jsr166/Makefile.in: Regenerated.
	* external/Makefile.in: Regenerated.
	* external/relaxngDatatype/Makefile.in: Regenerated.
	* external/sax/Makefile.in: Regenerated.
	* external/w3c_dom/Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* lib/Makefile.in: Regenerated.
	* native/fdlibm/Makefile.in: Regenerated.
	* native/jawt/Makefile.in: Regenerated.
	* native/jni/Makefile.in: Regenerated.
	* native/jni/gconf-peer/Makefile.in: Regenerated.
	* native/jni/gstreamer-peer/Makefile.in: Regenerated.
	* native/jni/gtk-peer/Makefile.in: Regenerated.
	* native/jni/java-io/Makefile.in: Regenerated.
	* native/jni/java-lang/Makefile.in: Regenerated.
	* native/jni/java-math/Makefile.in: Regenerated.
	* native/jni/java-net/Makefile.in: Regenerated.
	* native/jni/java-nio/Makefile.in: Regenerated.
	* native/jni/java-util/Makefile.in: Regenerated.
	* native/jni/Makefile.in: Regenerated.
	* native/jni/midi-alsa/Makefile.in: Regenerated.
	* native/jni/midi-dssi/Makefile.in: Regenerated.
	* native/jni/native-lib/Makefile.in: Regenerated.
	* native/jni/qt-peer/Makefile.in: Regenerated.
	* native/jni/xmlj/Makefile.in: Regenerated.
	* native/Makefile.in: Regenerated.
	* native/plugin/Makefile.in: Regenerated.
	* resource/Makefile.in: Regenerated.
	* scripts/Makefile.in: Regenerated.
	* tools/Makefile.in: Regenerated.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r199221
2013-05-22 17:25:59 -04:00
Eric Botcazou 49dcafd4ec config.host (powerpc-*-elf*): Add rs6000/t-savresfgpr to tmake_file.
* config.host (powerpc-*-elf*): Add rs6000/t-savresfgpr to tmake_file.
	(powerpc-wrs-vxworks): Likewise.

From-SVN: r199219
2013-05-22 20:44:16 +00:00
Michael Meissner f62511da91 extend.texi (PowerPC AltiVec/VSX Built-in Functions): Add documentation for the power8 crypto builtins.
[gcc]
2013-05-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
	    Pat Haugen <pthaugen@us.ibm.com>
	    Peter Bergner <bergner@vnet.ibm.com>

	* doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions): Add
	documentation for the power8 crypto builtins.

	* config/rs6000/t-rs6000 (MD_INCLUDES): Add crypto.md.

	* config/rs6000/rs6000-builtin.def (BU_P8V_AV_1): Add support
	macros for defining power8 builtin functions.
	(BU_P8V_AV_2): Likewise.
	(BU_P8V_AV_P): Likewise.
	(BU_P8V_VSX_1): Likewise.
	(BU_P8V_OVERLOAD_1): Likewise.
	(BU_P8V_OVERLOAD_2): Likewise.
	(BU_CRYPTO_1): Likewise.
	(BU_CRYPTO_2): Likewise.
	(BU_CRYPTO_3): Likewise.
	(BU_CRYPTO_OVERLOAD_1): Likewise.
	(BU_CRYPTO_OVERLOAD_2): Likewise.
	(XSCVSPDP): Fix typo, point to the correct instruction.
	(VCIPHER): Add power8 crypto builtins.
	(VCIPHERLAST): Likewise.
	(VNCIPHER): Likewise.
	(VNCIPHERLAST): Likewise.
	(VPMSUMB): Likewise.
	(VPMSUMH): Likewise.
	(VPMSUMW): Likewise.
	(VPERMXOR_V2DI): Likewise.
	(VPERMXOR_V4SI: Likewise.
	(VPERMXOR_V8HI: Likewise.
	(VPERMXOR_V16QI: Likewise.
	(VSHASIGMAW): Likewise.
	(VSHASIGMAD): Likewise.
	(VPMSUM): Likewise.
	(VPERMXOR): Likewise.
	(VSHASIGMA): Likewise.

	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
	__CRYPTO__ if the crypto instructions are available.
	(altivec_overloaded_builtins): Add support for overloaded power8
	builtins.

	* config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add
	support for power8 crypto builtins.
	(builtin_function_type): Likewise.
	(altivec_init_builtins): Add support for builtins that take vector
	long long (V2DI) arguments.

	* config/rs6000/crypto.md: New file, define power8 crypto
	instructions.

2013-05-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
	    Pat Haugen <pthaugen@us.ibm.com>
	    Peter Bergner <bergner@vnet.ibm.com>

	* doc/invoke.texi (Option Summary): Add power8 options.
	(RS/6000 and PowerPC Options): Likewise.

	* doc/md.texi (PowerPC and IBM RS6000 constraints): Update to use
	constraints.md instead of rs6000.h.  Reorder w* constraints.  Add
	wm, wn, wr documentation.

	* gcc/config/rs6000/constraints.md (wm): New constraint for VSX
	registers if direct move instructions are enabled.
	(wn): New constraint for no registers.
	(wq): New constraint for quad word even GPR registers.
	(wr): New constraint if 64-bit instructions are enabled.
	(wv): New constraint if power8 vector instructions are enabled.
	(wQ): New constraint for quad word memory locations.

	* gcc/config/rs6000/predicates.md (const_0_to_15_operand): New
	constraint for 0..15 for crypto instructions.
	(gpc_reg_operand): If VSX allow registers in VSX registers as well
	as GPR and floating point registers.
	(int_reg_operand): New predicate to match only GPR registers.
	(base_reg_operand): New predicate to match base registers.
	(quad_int_reg_operand): New predicate to match even GPR registers
	for quad memory operations.
	(vsx_reg_or_cint_operand): New predicate to allow vector logical
	operations in both GPR and VSX registers.
	(quad_memory_operand): New predicate for quad memory operations.
	(reg_or_indexed_operand): New predicate for direct move support.

	* gcc/config/rs6000/rs6000-cpus.def (ISA_2_5_MASKS_EMBEDDED):
	Inherit from ISA_2_4_MASKS, not ISA_2_2_MASKS.
	(ISA_2_7_MASKS_SERVER): New mask for ISA 2.07 (i.e. power8).
	(POWERPC_MASKS): Add power8 options.
	(power8 cpu): Use ISA_2_7_MASKS_SERVER instead of specifying the
	various options.

	* gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
	Define _ARCH_PWR8 and __POWER8_VECTOR__ for power8.

	* gcc/config/rs6000/rs6000.opt (-mvsx-timode): Add documentation.
	(-mpower8-fusion): New power8 options.
	(-mpower8-fusion-sign): Likewise.
	(-mpower8-vector): Likewise.
	(-mcrypto): Likewise.
	(-mdirect-move): Likewise.
	(-mquad-memory): Likewise.

	* gcc/config/rs6000/rs6000.c (power8_cost): Initial definition for
	power8.
	(rs6000_hard_regno_mode_ok): Make PTImode only match even GPR
	registers.
	(rs6000_debug_reg_print): Print the base register class if
	-mdebug=reg.
	(rs6000_debug_vector_unit): Add p8_vector.
	(rs6000_debug_reg_global): If -mdebug=reg, print power8 constraint
	definitions.  Also print fusion state.
	(rs6000_init_hard_regno_mode_ok): Set up power8 constraints.
	(rs6000_builtin_mask_calculate): Add power8 builtin support.
	(rs6000_option_override_internal): Add support for power8.
	(rs6000_common_init_builtins): Add debugging for skipped builtins
	if -mdebug=builtin.
	(rs6000_adjust_cost): Add power8 support.
	(rs6000_issue_rate): Likewise.
	(insn_must_be_first_in_group): Likewise.
	(insn_must_be_last_in_group): Likewise.
	(force_new_group): Likewise.
	(rs6000_register_move_cost): Likewise.
	(rs6000_opt_masks): Likewise.

	* config/rs6000/rs6000.h (ASM_CPU_POWER8_SPEC): If we don't have a
	power8 capable assembler, default to power7 options.
	(TARGET_DIRECT_MOVE): Likewise.
	(TARGET_CRYPTO): Likewise.
	(TARGET_P8_VECTOR): Likewise.
	(VECTOR_UNIT_P8_VECTOR_P): Define power8 vector support.
	(VECTOR_UNIT_VSX_OR_P8_VECTOR_P): Likewise.
	(VECTOR_MEM_P8_VECTOR_P): Likewise.
	(VECTOR_MEM_VSX_OR_P8_VECTOR_P): Likewise.
	(VECTOR_MEM_ALTIVEC_OR_VSX_P): Likewise.
	(TARGET_XSCVDPSPN): Likewise.
	(TARGET_XSCVSPDPN): Likewsie.
	(TARGET_SYNC_HI_QI): Likewise.
	(TARGET_SYNC_TI): Likewise.
	(MASK_CRYPTO): Likewise.
	(MASK_DIRECT_MOVE): Likewise.
	(MASK_P8_FUSION): Likewise.
	(MASK_P8_VECTOR): Likewise.
	(REG_ALLOC_ORDER): Move fr13 to be lower in priority so that the
	TFmode temporary used by some of the direct move instructions to
	get two FP temporary registers does not force creation of a stack
	frame.
	(VLOGICAL_REGNO_P): Allow vector logical operations in GPRs.
	(MODES_TIEABLE_P): Move the VSX tests above the Altivec tests so
	that any VSX registers are tieable, even if they are also an
	Altivec vector mode.
	(r6000_reg_class_enum): Add wm, wr, wv constraints.
	(RS6000_BTM_P8_VECTOR): Power8 builtin support.
	(RS6000_BTM_CRYPTO): Likewise.
	(RS6000_BTM_COMMON): Likewise.

	* config/rs6000/rs6000.md (cpu attribute): Add power8.
	* config/rs6000/rs6000-opts.h (PROCESSOR_POWER8): Likewise.
	(enum rs6000_vector): Add power8 vector support.

[gcc/testsuite]
2013-05-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
	    Pat Haugen <pthaugen@us.ibm.com>
	    Peter Bergner <bergner@vnet.ibm.com>

	* gcc.target/powerpc/crypto-builtin-1.c: New file, test for power8
	crypto builtins.


Co-Authored-By: Pat Haugen <pthaugen@us.ibm.com>
Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>

From-SVN: r199217
2013-05-22 20:14:29 +00:00
Tobias Burnus bbf38bcf2d resolve.c (get_temp_from_expr): Change mangling to start always with a _.
2013-05-22  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (get_temp_from_expr): Change mangling to
        start always with a _.

From-SVN: r199215
2013-05-22 21:24:29 +02:00
Tobias Burnus ead3d0757a resolve.c (get_temp_from_expr): Fix temp var mangling.
2013-05-22  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (get_temp_from_expr): Fix temp var mangling.

From-SVN: r199214
2013-05-22 21:14:51 +02:00
Ramana Radhakrishnan 73a1a70765 Fix PR target/57340 and additionally for PR target/19599.
2013-05-22  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	PR target/19599
	PR target/57340
	* config/arm/arm.c (any_sibcall_uses_r3): Rename to ..
	(any_sibcall_could_use_r3): this and handle indirect calls.
	(arm_get_frame_offsets): Rename use of any_sibcall_uses_r3.

From-SVN: r199203
2013-05-22 15:26:20 +00:00
Matthias Klose 4270eba558 jvspec.c (jvgenmain_spec): Add %I to cc1 call.
2013-05-22  Matthias Klose  <doko@ubuntu.com>

        * jvspec.c (jvgenmain_spec): Add %I to cc1 call.

From-SVN: r199199
2013-05-22 12:48:39 +00:00
Bill Schmidt d28073d4fe rs6000.h (MALLOC_ABI_ALIGNMENT): New #define.
2013-05-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.h (MALLOC_ABI_ALIGNMENT): New #define.

From-SVN: r199198
2013-05-22 12:48:18 +00:00
Tobias Burnus 28a595fc80 re PR fortran/57364 ([OOP] ICE gfc_enforce_clean_symbol_state)
2013-05-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57364
        * resolve.c (get_temp_from_expr): Commit created sym.

2013-05-22  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57364
        * gfortran.dg/defined_assignment_6.f90: New.

From-SVN: r199196
2013-05-22 14:43:55 +02:00
Dominique d'Humieres 1e1ba2d795 Fix several libffi testsuite failures on 64-bit SPARC and PowerPC (PR libffi/56033)
PR libffi/56033
	* testsuite/libffi.call/cls_struct_va1.c (test_fn): Cast resp to
	ffi_arg *.
	* testsuite/libffi.call/cls_uint_va.c (cls_ret_T_fn): Likewise.
	* testsuite/libffi.call/va_1.c (main): Change res to ffi_arg.
	* testsuite/libffi.call/va_struct1.c (main): Likewise.

Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>

From-SVN: r199194
2013-05-22 11:47:52 +00:00
Richard Biener bee0b10c53 re PR tree-optimization/57349 (ICE on 253.perlbmk with pgo after r198096)
2013-05-22  Richard Biener  <rguenther@suse.de>

	PR middle-end/57349
	* profile.c (branch_prob): Do not split blocks that are
	abnormally receiving from ECF_RETURNS_TWICE functions.

From-SVN: r199193
2013-05-22 11:16:32 +00:00