1. 28 Aug, 2009 7 commits
    • tree.def: Remove note about obsolete TYPE_NONCOPIED_PARTS. · 81fa17da
      2009-08-28  Richard Guenther  <rguenther@suse.de>
      
      	* tree.def: Remove note about obsolete TYPE_NONCOPIED_PARTS.
      
      From-SVN: r151177
      Richard Guenther committed
    • re PR lto/41058 (FAIL: ext/pb_ds/regression/hash_data_map_rand.cc) · 0b952972
      2009-08-28  Richard Guenther  <rguenther@suse.de>
      
      	PR lto/41058
      	* cp-gimplify.c (cp_genericize_r): Do not leak zero-sized stores
      	into the generic IL.
      
      From-SVN: r151176
      Richard Guenther committed
    • inclhack.def (hpux_imaginary_i): Remove spaces. · 629fff4b
      2009-08-28  Steve Ellcey  <sje@cup.hp.com>
      
      	* inclhack.def (hpux_imaginary_i): Remove spaces.
      	* fixincl.x: Regenerate.
      	* tests/base/stdint.h: Update AIX fixes. 
      	* tests/base/complex.h: Change HPUX_IMAGINARY_I_CHECK fix.
      
      From-SVN: r151171
      Steve Ellcey committed
    • netware.c: Include langhooks.h. · a858e912
      2009-08-28  Jan Beulich  <jbeulich@novell.com>
      
      	* config/i386/netware.c: Include langhooks.h.
      	(i386_nlm_encode_section_info): Simplify.
      	(netware_override_options): Delete.
      	* config/i386/netware.h (netware_override_options): Delete
      	declaration.
      	(OVERRIDE_OPTIONS): Delete definition.
      	(SUBTARGET_OVERRIDE_OPTIONS): Define.
      	(ASM_COMMENT_START): Define.
      	* config/i386/nwld.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
      
      From-SVN: r151164
      Jan Beulich committed
    • configure.ac: For in-tree ld... · 39ba7b7d
      2009-08-28  Jan Beulich  <jbeulich@novell.com>
      
      	* configure.ac: For in-tree ld, do a plain version check to
      	determine whether comdat groups are supported.
      	* configure: Regenerate.
      
      From-SVN: r151162
      Jan Beulich committed
    • collect2.c (DO_COLLECT_EXPORT_LIST): New internal macro, always defined. · 7e49a4b3
      
              * collect2.c (DO_COLLECT_EXPORT_LIST): New internal macro,
              always defined.  Reflect definition or absence of such for
              COLLECT_EXPORT_LIST.  Readability helper.
              (scanfilter): New enum, to help control what symbols
              are to be considered or ignored by scan_prog_file.
              (enum pass): Rename as "scanpass", moved together with scanfilter
              prior to scan_prog_file's prototype.
              (scan_prog_file): Accept and honor scanpass and scanfilter arguments.
              Group prototype with the scanpass/scanfilter definitions, factorize
              head comments for the several implementations at the prototype.
              (main): Reorganize the first pass link control to let AIX
              drag only the needed frame tables in executables.  Prevent
              frame tables collection during the scan aimed at static ctors.
              Pre-link and scan for frame tables later to compensate.
              * doc/tm.texi (ASM_OUTPUT_DWARF_TABLE_REF): New macro.
              A C statement to issue assembly directives that create a reference
              to the given DWARF table identifier label from the current function
              section.
              * dwarf2out.c (switch_to_eh_frame_section): Add a BACK argument
              to differentiate first time section entry.  Only emit a .data
              tables start identifier label the first time around.
              (switch_to_frame_table_section): New function.  Helper for
              output_call_frame_info to switch possibly BACK into the eh_frame
              or the debug_frame section depending on FOR_EH.
              (output_call_frame_info): Use helper to first enter the proper
              frame section.
              (output_fde): Use ASM_OUTPUT_DWARF_TABLE_REF when defined to
              emit a link to the frame table start label from each function
              section.
              * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_table_ref):
              New function.  Implementation of ASM_OUTPUT_DWARF_TABLE_REF.
              * config/rs6000/rs6000-protos.h: Declare it.
              * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Define.
      
      From-SVN: r151157
      Olivier Hainque committed
    • Daily bump. · 72129a25
      From-SVN: r151156
      GCC Administrator committed
  2. 27 Aug, 2009 15 commits
    • sh.c (split_branches): Check the result of next_active_insn. · a7d6f306
      	* config/sh/sh.c (split_branches): Check the result of
      	next_active_insn.
      
      From-SVN: r151152
      Kaz Kojima committed
    • hpux.h (LIB_SPEC): Add -lrt for when using -pthread -fopenmp · 715fda99
      2009-08-27  Steve Ellcey  <sje@cup.hp.com>
      
      	* config/ia64/hpux.h (LIB_SPEC): Add -lrt for when
      	using -pthread -fopenmp
      
      From-SVN: r151151
      Steve Ellcey committed
    • * doc/service.texi (service directory): Update URL. · 2711df18
      From-SVN: r151150
      Gerald Pfeifer committed
    • re PR rtl-optimization/40861 (ICE in simplify_subreg, at simplify-rtx.c:4981) · 2b3b22d3
      	PR rtl-optimization/40861
      	* simplify-rtx.c (simplify_subreg): Do not call simplify_gen_subreg to
      	extract word from a multi-word subreg for negative byte positions.
      
      testsuite/ChangeLog:
      
      	PR rtl-optimization/40861
      	* gcc.dg/pr40861.c: New test.
      
      From-SVN: r151149
      Uros Bizjak committed
    • ia64.c (ia64_attribute_table): Add "common_object" entry. · 30ed9d3d
      
      	* config/ia64/ia64.c (ia64_attribute_table): Add "common_object"
      	entry.
      	(SECTION_VMS_OVERLAY): Define.
      	(ia64_vms_common_object_attribute): Added.  Handle the "common_object"
      	attribute.
      	(ia64_vms_elf_asm_named_section): Added.  Generate .section pseudo-op
      	for common_object.
      	(ia64_vms_output_aligned_decl_common): Added.  Generate pseudo-op for
      	common_object declarations.
      	(ia64_section_type_flags): Set section flag for common_object.
      	* config/ia64/ia64-protos.h
      	(ia64_vms_output_aligned_decl_common): Declare.
      	(ia64_vms_elf_asm_named_section): Declare.
      
      
      Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
      
      From-SVN: r151148
      Tristan Gingold committed
    • re PR fortran/40869 ([F03] PPC assignment checking) · 889dc035
      2009-08-27  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/40869
      	* expr.c (gfc_check_pointer_assign): Enable interface check for
      	pointer assignments involving procedure pointer components.
      	* gfortran.h (gfc_compare_interfaces): Modified prototype.
      	* interface.c (gfc_compare_interfaces): Add argument 'name2', to be
      	used instead of s2->name. Don't rely on the proc_pointer attribute,
      	but instead on the flags handed to this function.
      	(check_interface1,compare_parameter): Add argument for
      	gfc_compare_interfaces.
      	* resolve.c (check_generic_tbp_ambiguity): Ditto.
      
      2009-08-27  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/40869
      	* gfortran.dg/proc_ptr_comp_20.f90: New.
      
      From-SVN: r151147
      Janus Weil committed
    • Let test_summary invoke, not parse config.status contents. · 0930984e
      contrib/*
      	PR testsuite/41166
      	* test_summary: Invoke config.status, rather than trying to
      	parse it.  Adjust awk script.
      
      From-SVN: r151145
      Ralf Wildenhues committed
    • PR libfortran/39667 Fix testcases to not need fd_truncate. · 20d1cba1
      From-SVN: r151144
      Janne Blomqvist committed
    • expr.c (expand_expr_real_2): New function taking exploded unary or binary… · f994f296
      expr.c (expand_expr_real_2): New function taking exploded unary or binary expression, split out from ...
      
              * expr.c (expand_expr_real_2): New function taking exploded
              unary or binary expression, split out from ...
              (expand_expr_real_1): ... here.  Move over all unary/binary
              switch parts to above function, in particular these codes:
              PAREN_EXPR, NOP_EXPR, CONVERT_EXPR, POINTER_PLUS_EXPR, PLUS_EXPR,
              MINUS_EXPR, MULT_EXPR, TRUNC_DIV_EXPR, FLOOR_DIV_EXPR, CEIL_DIV_EXPR,
              ROUND_DIV_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, TRUNC_MOD_EXPR,
              FLOOR_MOD_EXPR, CEIL_MOD_EXPR, ROUND_MOD_EXPR, FIXED_CONVERT_EXPR,
              FIX_TRUNC_EXPR, FLOAT_EXPR, NEGATE_EXPR, ABS_EXPR, MAX_EXPR, MIN_EXPR,
              BIT_NOT_EXPR, TRUTH_AND_EXPR, BIT_AND_EXPR, TRUTH_OR_EXPR,
              BIT_IOR_EXPR, TRUTH_XOR_EXPR, BIT_XOR_EXPR, LROTATE_EXPR, RROTATE_EXPR,
              LSHIFT_EXPR, RSHIFT_EXPR, LT_EXPR, LE_EXPR, GT_EXPR, GE_EXPR, EQ_EXPR,
              NE_EXPR, UNORDERED_EXPR, ORDERED_EXPR, UNLT_EXPR, UNLE_EXPR, UNGT_EXPR,
              UNGE_EXPR, UNEQ_EXPR, LTGT_EXPR, TRUTH_NOT_EXPR, COMPLEX_EXPR,
              WIDEN_SUM_EXPR, REDUC_MAX_EXPR, REDUC_MIN_EXPR, REDUC_PLUS_EXPR,
              VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR,
              VEC_INTERLEAVE_LOW_EXPR, VEC_LSHIFT_EXPR, VEC_RSHIFT_EXPR,
              VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO_EXPR, VEC_UNPACK_FLOAT_HI_EXPR,
              VEC_UNPACK_FLOAT_LO_EXPR, VEC_WIDEN_MULT_HI_EXPR,
              VEC_WIDEN_MULT_LO_EXPR, VEC_PACK_TRUNC_EXPR, VEC_PACK_SAT_EXPR,
              VEC_PACK_FIX_TRUNC_EXPR.
              (<case PAREN_EXPR>): Call set_mem_attributes() with type, not the
              full expression.
      
      From-SVN: r151142
      Michael Matz committed
    • re PR fortran/28039 (Warn when ignoring extra characters in the format specification) · 77657899
      2009-08-27  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/28039
              * gfortran.dg/fmt_with_extra.f: xfail testcase as patch was
              * reverted.
      
      From-SVN: r151141
      Tobias Burnus committed
    • re PR fortran/37425 (Fortran 2003: GENERIC bindings as operators) · 4a44a72d
      2009-08-27  Daniel Kraft  <d@domob.eu>
      
      	PR fortran/37425
      	* gfortran.h (gfc_expr): Optionally store base-object in compcall value
      	and add a new flag to distinguish assign-calls generated.
      	(gfc_find_typebound_proc): Add locus argument.
      	(gfc_find_typebound_user_op), (gfc_find_typebound_intrinsic_op): Ditto.
      	(gfc_extend_expr): Return if failure was by a real error.
      	* interface.c (matching_typebound_op): New routine.
      	(build_compcall_for_operator): New routine.
      	(gfc_extend_expr): Handle type-bound operators, some clean-up and
      	return if failure was by a real error or just by not finding an
      	appropriate operator definition.
      	(gfc_extend_assign): Handle type-bound assignments.
      	* module.c (MOD_VERSION): Incremented.
      	(mio_intrinsic_op): New routine.
      	(mio_full_typebound_tree): New routine to make typebound-procedures IO
      	code reusable for type-bound user operators.
      	(mio_f2k_derived): IO of type-bound operators.
      	* primary.c (gfc_match_varspec): Initialize new fields in gfc_expr and
      	pass locus to gfc_find_typebound_proc.
      	* resolve.c (resolve_operator): Only output error about no matching
      	interface if gfc_extend_expr did not already fail with an error.
      	(extract_compcall_passed_object): Use specified base-object if present.
      	(update_compcall_arglist): Handle ignore_pass field.
      	(resolve_ordinary_assign): Update to handle extended code for
      	type-bound assignments, too.
      	(resolve_code): Handle EXEC_ASSIGN_CALL statement code.
      	(resolve_tb_generic_targets): Pass locus to gfc_find_typebound_proc.
      	(resolve_typebound_generic), (resolve_typebound_procedure): Ditto.
      	(resolve_typebound_intrinsic_op), (resolve_typebound_user_op): Ditto.
      	(ensure_not_abstract_walker), (resolve_fl_derived): Ditto.
      	(resolve_typebound_procedures): Remove not-implemented error.
      	(resolve_typebound_call): Handle assign-call flag.
      	* symbol.c (find_typebound_proc_uop): New argument to pass locus for
      	error message about PRIVATE, verify that a found procedure is not marked
      	as erraneous.
      	(gfc_find_typebound_intrinsic_op): Ditto.
      	(gfc_find_typebound_proc), (gfc_find_typebound_user_op): New locus arg.
      
      2009-08-27  Daniel Kraft  <d@domob.eu>
      
      	PR fortran/37425
      	* gfortran.dg/impure_assignment_1.f90: Change expected error message.
      	* gfortran.dg/typebound_operator_1.f03: Remove check for not-implemented
      	error and fix problem with recursive assignment.
      	* gfortran.dg/typebound_operator_2.f03: No not-implemented check.
      	* gfortran.dg/typebound_operator_3.f03: New test.
      	* gfortran.dg/typebound_operator_4.f03: New test.
      
      From-SVN: r151140
      Daniel Kraft committed
    • gengtype.c (main): Handle uint64_t. · c6a21142
      2009-08-27  Richard Guenther  <rguenther@suse.de>
      
      	* gengtype.c (main): Handle uint64_t.
      	* ipa-utils.c (get_base_var): Indent properly.
      	* tree-ssa-live.c (debug_scope_block): New function.
      	* tree-flow.h (debug_scope_block): Declare.
      	* tree-ssa-copy.c (replace_exp_1): Add vertical space.
      	* basic-block.h (enum profile_status): Rename to
      	enum profile_status_d.
      	(x_profile_status): Adjust type.
      
      	cp/
      	* class.c (build_vtbl_ref_1): Remove excess vertical space.
      	* Make-lang.in (CXX_TREE_H): Remove c-common.def dependency
      	tracked by $(TREE_H).
      	* semantics.c (expand_or_defer_fn): Zero DECL_SAVED_TREE.
      
      From-SVN: r151139
      Richard Guenther committed
    • re PR debug/41170 (namespace DIE not generated when it contains only a typedef) · 7842a9db
      Fix for PR debug/41170
      
      gcc/ChangeLog:
      	PR debug/41770
      	* dwarf2out.c (get_context_die): Declare this static function.
      	(gen_type_die_with_usage): Make sure a DIE is a generated for
      	the context of a typedef.
      
      gcc/testsuite/ChangeLog:
      	PR debug/41770
      	* debug/dwarf2/namespace-1.C: New test.
      
      From-SVN: r151138
      Dodji Seketeli committed
    • gnu.ver: Fixups for string member functions. · 3d1be5be
      2009-08-26  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* config/abi/pre/gnu.ver: Fixups for string member functions.
      
      From-SVN: r151137
      Benjamin Kosnik committed
    • Daily bump. · 774cb5ba
      From-SVN: r151135
      GCC Administrator committed
  3. 26 Aug, 2009 14 commits
    • invoke.texi (AVR Options): Remove documentation of -minit-stack switch. · 98f6d48a
      	* doc/invoke.texi (AVR Options): Remove documentation of -minit-stack
      	switch.
      
      From-SVN: r151132
      Anatoly Sokolov committed
    • re PR fortran/41162 (416.gamess in SPEC CPU 2006 failed to build) · dbf61529
      2009-08-26  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR fortran/41162
      	* gfortran.dg/pr41162.f: New.
      
      From-SVN: r151130
      H.J. Lu committed
    • mips.exp: Replace isa(_rev)=...!... · 631c905a
      gcc/testsuite/
      2009-08-18  Adam Nemet  <anemet@caviumnetworks.com>
      	    Richard Sandiford  <rdsandiford@googlemail.com>
      
      	* gcc.target/mips/mips.exp: Replace isa(_rev)=...!... mechanism
      	with "forbid_cpu".
      	* gcc.target/mips/branch-1.c: Update accordingly.
      	* gcc.target/mips/extend-1.c: Likewise.
      	* gcc.target/mips/dmult-1.c: Likewise.  Remove redundant isa=64.
      
      Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
      
      From-SVN: r151129
      Adam Nemet committed
    • mips-protos.h (mips_output_sync): Declare. · 6f5a62e9
      gcc/
      	* config/mips/mips-protos.h (mips_output_sync): Declare.
      	(mips_sync_loop_insns): Likewise.
      	(mips_output_sync_loop): Replace first two parameters with an rtx.
      	* config/mips/mips.c (mips_multi_member): New structure.
      	(mips_multi_members): New variable.
      	(mips_multi_start): New function.
      	(mips_multi_add): Likewise.
      	(mips_multi_add_insn): Likewise.
      	(mips_multi_add_label): Likewise.
      	(mips_multi_last_index): Likewise.
      	(mips_multi_copy_insn): Likewise.
      	(mips_multi_set_operand): Likewise.
      	(mips_multi_write): Likewise.
      	(mips_print_operand_punctuation): Remove '%|' and '%-'.
      	(mips_init_print_operand_punct): Update accordingly.
      	(mips_start_ll_sc_sync_block): New function.
      	(mips_end_ll_sc_sync_block): Likewise.
      	(mips_output_sync): Likewise.
      	(mips_sync_insn1_template): Likewise.
      	(mips_sync_insn2_template): Likewise.
      	(mips_get_sync_operand): Likewise.
      	(mips_process_sync_loop): Likewise.
      	(mips_output_sync_loop): Use mips_process_sync_loop.
      	(mips_sync_loop_insns): New function.
      	* config/mips/mips.h (MIPS_COMPARE_AND_SWAP): Delete.
      	(MIPS_COMPARE_AND_SWAP_12): Likewise.
      	(MIPS_COMPARE_AND_SWAP_12_ZERO_OP): Likewise.
      	(MIPS_COMPARE_AND_SWAP_12_NONZERO_OP): Likewise.
      	(MIPS_SYNC_OP, MIPS_SYNC_OP_12): Likewise.
      	(MIPS_SYNC_OP_12_AND, MIPS_SYNC_OP_12_XOR): Likewise.
      	(MIPS_SYNC_OLD_OP_12): Likewise.
      	(MIPS_SYNC_OLD_OP_12_AND, MIPS_SYNC_OLD_OP_12_XOR): Likewise.
      	(MIPS_SYNC_NEW_OP_12): Likewise.
      	(MIPS_SYNC_NEW_OP_12_AND, MIPS_SYNC_NEW_OP_12_XOR): Likewise.
      	(MIPS_SYNC_OLD_OP, MIPS_SYNC_NEW_OP): Likewise.
      	(MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND, MIPS_SYNC_NEW_NAND): Likewise.
      	(MIPS_SYNC_EXCHANGE, MIPS_SYNC_EXCHANGE_12): Likewise.
      	(MIPS_SYNC_EXCHANGE_12_ZERO_OP): Likewise.
      	(MIPS_SYNC_EXCHANGE_12_NONZER_OP): Likewise.
      	* config/mips/mips.md (sync_mem): New attribute.
      	(sync_oldval, sync_newval, sync_inclusive_mask): Likewise.
      	(sync_exclusive_mask, sync_required_oldval): Likewise.
      	(sync_insn1_op2, sync_insn1, sync_insn2): Likewise.
      	(sync_release_barrier): Likewise.
      	(length): Handle sync loops.
      	(sync): Use mips_output_sync.
      	* config/mips/sync.md (*memory_barrier): Use mips_output_sync.
      	(sync_compare_and_swap<mode>): Set the new sync_* attributes
      	and use mips_output_sync_loop.
      	(compare_and_swap_12, sync_add<mode>, sync_<optab>_12): Likewise.
      	(sync_old_<optab>_12, sync_new_<optab>_12, sync_nand_12): Likewise.
      	(sync_old_nand_12, sync_new_nand_12, sync_sub<mode>): Likewise.
      	(sync_old_add<mode>, sync_old_sub<mode>): Likewise.
      	(sync_new_add<mode>, sync_new_sub<mode>): Likewise.
      	(sync_<optab><mode>, sync_old_<optab><mode>): Likewise.
      	(sync_new_<optab><mode>, sync_nand<mode>): Likewise.
      	(sync_old_nand<mode>, sync_new_nand<mode>): Likewise.
      	(sync_lock_test_and_set<mode>, test_and_set_12): Likewise.
      
      From-SVN: r151128
      Richard Sandiford committed
    • re PR libstdc++/41005 ([C++0x] Unable to link fstream open and ctor with std::string argument.) · 41bc3c4a
      2009-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
      
      	PR libstdc++/41005
      	* configure.ac: Bump libtool_VERSION to 6:14:0.
      	* configure: Regenerate.
      	* src/Makefile.am: Compile fstream-inst.cc as C++0x.
      	* src/Makefile.in: Regenerate.
      	* config/abi/pre/gnu.ver: Add new symbols and disambiguate old ones,
      	move <future> symbols to 3.4.14 version.
      	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.14 version.
      
      From-SVN: r151126
      Jonathan Wakely committed
    • ltmain.sh (removedotparts): Don't use comma as 's' separator. · 68ccd57c
      ChangeLog:
      
      	* ltmain.sh (removedotparts): Don't use comma as 's' separator.
      	(collapseslashes): Likewise.
      
      libjava/classpath/ChangeLog:
      
      	* ltmain.sh (removedotparts): Don't use comma as 's' separator.
      	(collapseslashes): Likewise.
      
      From-SVN: r151124
      Dave Korn committed
    • re PR c/41163 (verify_gimple fails) · 6b8b9e42
      2009-08-26  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/41163
      	* gimplify.c (gimplify_addr_expr): Canonicalize ADDR_EXPRs if
      	the types to not match.
      	* tree-cfg.c (verify_gimple_assign_single): Adjust ADDR_EXPR
      	verification.
      	* tree-ssa.c (useless_type_conversion_p): Conversions to
      	pointers to unprototyped functions are useless.
      
      	* gcc.c-torture/compile/pr41163.c: New testcase.
      	* gcc.dg/pr35899.c: Adjust.
      
      From-SVN: r151122
      Richard Guenther committed
    • Revert accidental commit of tree-cfg.c in r151099. · 5c89ef5a
      From-SVN: r151119
      Michael Matz committed
    • tree-ssa-structalias.c (create_variable_info_for): Remove strange whole-program… · bacd3fb6
      tree-ssa-structalias.c (create_variable_info_for): Remove strange whole-program condition, prepare to be called for non-globals.
      
      2009-08-26  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-structalias.c (create_variable_info_for): Remove
      	strange whole-program condition, prepare to be called for non-globals.
      	(intra_create_variable_infos): For restrict qualified DECL_BY_REFERENCE
      	params build a representative with known type and track its fields.
      
      	* gcc.dg/tree-ssa/restrict-4.c: New testcase.
      
      From-SVN: r151117
      Richard Guenther committed
    • sync.md: Update comment about unpredictable LL/SC lock clearing by a taken branch. · 7b3d1847
      	* config/alpha/sync.md: Update comment about unpredictable LL/SC lock
      	clearing by a taken branch.
      	(sync_<fetchop_name><mode>): Split when epilogue_completed is set,
      	effectively after bbro pass.
      	(sync_nand<mode>): Ditto.
      	(sync_old_<fetchop_name><mode>): Ditto.
      	(sync_old_nand<mode>): Ditto.
      	(sync_new_<fetchop_name><mode>): Dito.
      	(sync_new_nand<mode>): Ditto.
      	(sync_compare_and_swap<mode>_1): Ditto.
      	(*sync_compare_and_swap<mode>): Ditto.
      	(sync_lock_test_and_set<mode>_1): Ditto.
      	("sync_lock_test_and_set<mode>): Ditto.
      
      From-SVN: r151115
      Uros Bizjak committed
    • call.c (build_builtin_candidate): Don't set LOOKUP_ONLYCONVERTING if we're… · 1dad57e6
      call.c (build_builtin_candidate): Don't set LOOKUP_ONLYCONVERTING if we're contextually converting to bool.
      
      	* call.c (build_builtin_candidate): Don't set LOOKUP_ONLYCONVERTING
      	if we're contextually converting to bool.
      	(build_conditional_expr): Likewise.
      	* typeck.c (condition_conversion): Likewise.
      
      From-SVN: r151114
      Jason Merrill committed
    • call.c (build_conditional_expr): Fix logic errors. · 7919d7b4
      	* call.c (build_conditional_expr): Fix logic errors.
      	(build_new_op): Remove dead COND_EXPR handling.
      
      From-SVN: r151113
      Jason Merrill committed
    • re PR fortran/28039 (Warn when ignoring extra characters in the format specification) · 171fc18d
      2009-08-22      Bud Davis <bdavis9659@sbcglobal.net>
               
               PR fortran/28093
               * io.c: reverted previous patch
      
      From-SVN: r151112
      Bud Davis committed
    • Daily bump. · 645bf048
      From-SVN: r151111
      GCC Administrator committed
  4. 25 Aug, 2009 4 commits
    • hwint.h (HOST_LONG_FORMAT): New macro · edb89024
      
      	* hwint.h (HOST_LONG_FORMAT): New macro
      	* bitmap.c, c-decl.c, mips-tfile.c, print-rtl.c, print-tree.c:
      	Use HOST_PTR_PRINTF.
      	* system.h (HOST_PTR_PRINTF): Resurrect old macro
      	* doc/hostconfig.texi (HOST_LONG_FORMAT): Document.
      	(HOST_PTR_PRINTF): Document.
      
      From-SVN: r151108
      Douglas B Rupp committed
    • builtin-math-7.c: Add -mieee for sh*-*-* targets. · ff22013a
      	* gcc.dg/torture/builtin-math-7.c: Add -mieee for sh*-*-* targets.
      
      From-SVN: r151107
      Kaz Kojima committed
    • basic_string.h (basic_string): Add cbegin(), cend(), crbegin(), crend() in C++0x mode. · 439a0f5a
      2009-08-25  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* include/bits/basic_string.h (basic_string): Add cbegin(),
      	cend(), crbegin(), crend() in C++0x mode.
      	* config/abi/pre/gnu.ver: Add exports.
      
      	* testsuite/util/testsuite_containers.h: New.
      	* testsuite/util/testsuite_container_traits.h: New.
      	* testsuite/21_strings/basic_string/requirements/citerators.cc: New.
      	* testsuite/21_strings/basic_string/requirements/typedefs.cc: New.
      	* testsuite/ext/vstring/requirements/citerators.cc: Edit.
      	* testsuite/ext/vstring/requirements/typedefs.cc: New.
      	* testsuite/23_containers/unordered_map/requirements/
      	cliterators.cc: Edit.
      	* testsuite/23_containers/unordered_map/requirements/
      	citerators.cc: Edit.
      	* testsuite/23_containers/unordered_map/requirements/
      	explicit_instantiation/1.cc: New.
      	* testsuite/23_containers/unordered_map/requirements/
      	explicit_instantiation/2.cc: New.
      	* testsuite/23_containers/unordered_map/requirements/
      	explicit_instantiation/3.cc: New.
      	* testsuite/23_containers/unordered_map/requirements/typedefs.cc: Edit.
      	* testsuite/23_containers/unordered_map/requirements/
      	explicit_instantiation.cc: Move to nested directory.
      	* testsuite/23_containers/queue/requirements/typedefs.cc: New.
      	* testsuite/23_containers/priority_queue/requirements/typedefs.cc: New.
      	* testsuite/23_containers/multimap/requirements/citerators.cc: Edit.
      	* testsuite/23_containers/multimap/requirements/typedefs.cc: New.
      	* testsuite/23_containers/set/requirements/citerators.cc: Edit.
      	* testsuite/23_containers/set/requirements/typedefs.cc: New.
      	* testsuite/23_containers/unordered_multimap/requirements/
      	cliterators.cc: Edit.
      	* testsuite/23_containers/unordered_multimap/requirements/
      	citerators.cc: Edit.
      	* testsuite/23_containers/unordered_multimap/requirements/
      	explicit_instantiation/1.cc: New.
      	* testsuite/23_containers/unordered_multimap/requirements/
      	explicit_instantiation/2.cc: Edit.: New.
      	* testsuite/23_containers/unordered_multimap/requirements/
      	explicit_instantiation/3.cc: New.
      	* testsuite/23_containers/unordered_multimap/requirements/
      	typedefs.cc: Edit.
      	* testsuite/23_containers/unordered_multimap/requirements/
      	explicit_instantiation.cc: Move to nested.
      	* testsuite/23_containers/forward_list/requirements/citerators.cc: New.
      	* testsuite/23_containers/forward_list/requirements/1.cc: Remove.
      	* testsuite/23_containers/forward_list/requirements/dr438/
      	insert_neg.cc: New.
      	* testsuite/23_containers/forward_list/requirements/dr438/
      	assign_neg.cc: New.
      	* testsuite/23_containers/forward_list/requirements/dr438/
      	constructor_1_neg.cc: New.
      	* testsuite/23_containers/forward_list/requirements/dr438/
      	constructor_2_neg.cc: New.
      	* testsuite/23_containers/forward_list/requirements/dr438/
      	constructor.cc: New.
      	* testsuite/23_containers/forward_list/requirements/typedefs.cc: New.
      	* testsuite/23_containers/unordered_set/requirements/
      	cliterators.cc: Edit.
      	* testsuite/23_containers/unordered_set/requirements/
      	citerators.cc: Edit.
      	* testsuite/23_containers/unordered_set/requirements/
      	explicit_instantiation/1.cc: New.
      	* testsuite/23_containers/unordered_set/requirements/
      	explicit_instantiation/2.cc: New.
      	* testsuite/23_containers/unordered_set/requirements/
      	explicit_instantiation/3.cc: New.
      	* testsuite/23_containers/unordered_set/requirements/typedefs.cc: Edit.
      	* testsuite/23_containers/unordered_set/requirements/
      	explicit_instantiation.cc: Move to nested.
      	* testsuite/23_containers/vector/requirements/citerators.cc: Edit.
      	* testsuite/23_containers/vector/requirements/dr438/bool/
      	constructor.cc: Move.
      	* testsuite/23_containers/vector/requirements/typedefs.cc: New.
      	* testsuite/23_containers/vector/bool/requirements/citerators.cc: Edit.
      	* testsuite/23_containers/vector/bool/requirements/dr438/
      	constructor.cc: New.
      	* testsuite/23_containers/deque/requirements/citerators.cc: Edit.
      	* testsuite/23_containers/deque/requirements/typedefs.cc
      	* testsuite/23_containers/stack/requirements/typedefs.cc
      	* testsuite/23_containers/multiset/requirements/citerators.cc: Edit.
      	* testsuite/23_containers/multiset/requirements/typedefs.cc: New.
      	* testsuite/23_containers/list/requirements/citerators.cc: Edit.
      	* testsuite/23_containers/list/requirements/typedefs.cc: New.
      	* testsuite/23_containers/unordered_multiset/requirements/
      	cliterators.cc: Edit.
      	* testsuite/23_containers/unordered_multiset/requirements/
      	citerators.cc: Edit.
      	* testsuite/23_containers/unordered_multiset/requirements/
      	explicit_instantiation.cc: Move.
      	* testsuite/23_containers/unordered_multiset/requirements/
      	explicit_instantiation/1.cc: New.
      	* testsuite/23_containers/unordered_multiset/requirements/
      	explicit_instantiation/2.cc: New.
      	* testsuite/23_containers/unordered_multiset/requirements/
      	explicit_instantiation/3.cc: New.
      	* testsuite/23_containers/unordered_multiset/requirements/typedefs.cc
      	* testsuite/23_containers/map/requirements/citerators.cc: Edit.
      	* testsuite/23_containers/map/requirements/typedefs.cc: New.
      	* testsuite/23_containers/array/requirements/citerators.cc: Edit.
      	* testsuite/23_containers/array/requirements/explicit_instantiation.cc:
      	Move.
      	* testsuite/23_containers/array/requirements/
      	explicit_instantiation/1.cc: New.
      	* testsuite/23_containers/array/requirements/
      	explicit_instantiation/2.cc: New.
      	* testsuite/23_containers/array/requirements/typedefs.cc: New.
      
      From-SVN: r151106
      Benjamin Kosnik committed
    • bmmintrin.h: Replace by #error. · 5c1a2bb1
      
      	* config/i386/bmmintrin.h: Replace by #error.
      
      	Revert:
      	Michael Meissner  <michael.meissner@amd.com>
      	Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
      	Tony Linthicum  <tony.linthicum@amd.com>
      
      	* config/i386/i386.h (TARGET_SSE5): New macro for SSE5.
      	(TARGET_ROUND): New macro for the round/ptest instructions which
      	are shared between SSE4.1 and SSE5.
      	(OPTION_MASK_ISA_ROUND): Ditto.
      	(OPTION_ISA_ROUND): Ditto.
      	(TARGET_FUSED_MADD): New macro for -mfused-madd swtich.
      	(TARGET_CPU_CPP_BUILTINS): Add SSE5 support.
      
      	* config/i386/i386.opt (-msse5): New switch for SSE5 support.
      	(-mfused-madd): New switch to give users control over whether the
      	compiler optimizes to use the multiply/add SSE5 instructions.
      
      	* config/i386/i386.c (enum pta_flags): Add PTA_SSE5.
      	(ix86_handle_option): Turn off 3dnow if -msse5.
      	(override_options): Add SSE5 support.
      	(print_operand): %Y prints comparison codes for SSE5 com/pcom
      	instructions.
      	(ix86_expand_sse_movcc): Add SSE5 support.
      	(ix86_expand_sse5_unpack): New function to use pperm to unpack a
      	vector type to the next largest size.
      	(ix86_expand_sse5_pack): New function to use pperm to pack a
      	vector type to the next smallest size.
      	(IX86_BUILTIN_FMADDSS): New for SSE5 intrinsic.
      	(IX86_BUILTIN_FMADDSD): Ditto.
      	(IX86_BUILTIN_FMADDPS): Ditto.
      	(IX86_BUILTIN_FMADDPD): Ditto.
      	(IX86_BUILTIN_FMSUBSS): Ditto.
      	(IX86_BUILTIN_FMSUBSD): Ditto.
      	(IX86_BUILTIN_FMSUBPS): Ditto.
      	(IX86_BUILTIN_FMSUBPD): Ditto.
      	(IX86_BUILTIN_FNMADDSS): Ditto.
      	(IX86_BUILTIN_FNMADDSD): Ditto.
      	(IX86_BUILTIN_FNMADDPS): Ditto.
      	(IX86_BUILTIN_FNMADDPD): Ditto.
      	(IX86_BUILTIN_FNMSUBSS): Ditto.
      	(IX86_BUILTIN_FNMSUBSD): Ditto.
      	(IX86_BUILTIN_FNMSUBPS): Ditto.
      	(IX86_BUILTIN_FNMSUBPD): Ditto.
      	(IX86_BUILTIN_PCMOV_V2DI): Ditto.
      	(IX86_BUILTIN_PCMOV_V4SI): Ditto.
      	(IX86_BUILTIN_PCMOV_V8HI): Ditto.
      	(IX86_BUILTIN_PCMOV_V16QI): Ditto.
      	(IX86_BUILTIN_PCMOV_V4SF): Ditto.
      	(IX86_BUILTIN_PCMOV_V2DF): Ditto.
      	(IX86_BUILTIN_PPERM): Ditto.
      	(IX86_BUILTIN_PERMPS): Ditto.
      	(IX86_BUILTIN_PERMPD): Ditto.
      	(IX86_BUILTIN_PMACSSWW): Ditto.
      	(IX86_BUILTIN_PMACSWW): Ditto.
      	(IX86_BUILTIN_PMACSSWD): Ditto.
      	(IX86_BUILTIN_PMACSWD): Ditto.
      	(IX86_BUILTIN_PMACSSDD): Ditto.
      	(IX86_BUILTIN_PMACSDD): Ditto.
      	(IX86_BUILTIN_PMACSSDQL): Ditto.
      	(IX86_BUILTIN_PMACSSDQH): Ditto.
      	(IX86_BUILTIN_PMACSDQL): Ditto.
      	(IX86_BUILTIN_PMACSDQH): Ditto.
      	(IX86_BUILTIN_PMADCSSWD): Ditto.
      	(IX86_BUILTIN_PMADCSWD): Ditto.
      	(IX86_BUILTIN_PHADDBW): Ditto.
      	(IX86_BUILTIN_PHADDBD): Ditto.
      	(IX86_BUILTIN_PHADDBQ): Ditto.
      	(IX86_BUILTIN_PHADDWD): Ditto.
      	(IX86_BUILTIN_PHADDWQ): Ditto.
      	(IX86_BUILTIN_PHADDDQ): Ditto.
      	(IX86_BUILTIN_PHADDUBW): Ditto.
      	(IX86_BUILTIN_PHADDUBD): Ditto.
      	(IX86_BUILTIN_PHADDUBQ): Ditto.
      	(IX86_BUILTIN_PHADDUWD): Ditto.
      	(IX86_BUILTIN_PHADDUWQ): Ditto.
      	(IX86_BUILTIN_PHADDUDQ): Ditto.
      	(IX86_BUILTIN_PHSUBBW): Ditto.
      	(IX86_BUILTIN_PHSUBWD): Ditto.
      	(IX86_BUILTIN_PHSUBDQ): Ditto.
      	(IX86_BUILTIN_PROTB): Ditto.
      	(IX86_BUILTIN_PROTW): Ditto.
      	(IX86_BUILTIN_PROTD): Ditto.
      	(IX86_BUILTIN_PROTQ): Ditto.
      	(IX86_BUILTIN_PROTB_IMM): Ditto.
      	(IX86_BUILTIN_PROTW_IMM): Ditto.
      	(IX86_BUILTIN_PROTD_IMM): Ditto.
      	(IX86_BUILTIN_PROTQ_IMM): Ditto.
      	(IX86_BUILTIN_PSHLB): Ditto.
      	(IX86_BUILTIN_PSHLW): Ditto.
      	(IX86_BUILTIN_PSHLD): Ditto.
      	(IX86_BUILTIN_PSHLQ): Ditto.
      	(IX86_BUILTIN_PSHAB): Ditto.
      	(IX86_BUILTIN_PSHAW): Ditto.
      	(IX86_BUILTIN_PSHAD): Ditto.
      	(IX86_BUILTIN_PSHAQ): Ditto.
      	(IX86_BUILTIN_FRCZSS): Ditto.
      	(IX86_BUILTIN_FRCZSD): Ditto.
      	(IX86_BUILTIN_FRCZPS): Ditto.
      	(IX86_BUILTIN_FRCZPD): Ditto.
      	(IX86_BUILTIN_CVTPH2PS): Ditto.
      	(IX86_BUILTIN_CVTPS2PH): Ditto.
      	(IX86_BUILTIN_COMEQSS): Ditto.
      	(IX86_BUILTIN_COMNESS): Ditto.
      	(IX86_BUILTIN_COMLTSS): Ditto.
      	(IX86_BUILTIN_COMLESS): Ditto.
      	(IX86_BUILTIN_COMGTSS): Ditto.
      	(IX86_BUILTIN_COMGESS): Ditto.
      	(IX86_BUILTIN_COMUEQSS): Ditto.
      	(IX86_BUILTIN_COMUNESS): Ditto.
      	(IX86_BUILTIN_COMULTSS): Ditto.
      	(IX86_BUILTIN_COMULESS): Ditto.
      	(IX86_BUILTIN_COMUGTSS): Ditto.
      	(IX86_BUILTIN_COMUGESS): Ditto.
      	(IX86_BUILTIN_COMORDSS): Ditto.
      	(IX86_BUILTIN_COMUNORDSS): Ditto.
      	(IX86_BUILTIN_COMFALSESS): Ditto.
      	(IX86_BUILTIN_COMTRUESS): Ditto.
      	(IX86_BUILTIN_COMEQSD): Ditto.
      	(IX86_BUILTIN_COMNESD): Ditto.
      	(IX86_BUILTIN_COMLTSD): Ditto.
      	(IX86_BUILTIN_COMLESD): Ditto.
      	(IX86_BUILTIN_COMGTSD): Ditto.
      	(IX86_BUILTIN_COMGESD): Ditto.
      	(IX86_BUILTIN_COMUEQSD): Ditto.
      	(IX86_BUILTIN_COMUNESD): Ditto.
      	(IX86_BUILTIN_COMULTSD): Ditto.
      	(IX86_BUILTIN_COMULESD): Ditto.
      	(IX86_BUILTIN_COMUGTSD): Ditto.
      	(IX86_BUILTIN_COMUGESD): Ditto.
      	(IX86_BUILTIN_COMORDSD): Ditto.
      	(IX86_BUILTIN_COMUNORDSD): Ditto.
      	(IX86_BUILTIN_COMFALSESD): Ditto.
      	(IX86_BUILTIN_COMTRUESD): Ditto.
      	(IX86_BUILTIN_COMEQPS): Ditto.
      	(IX86_BUILTIN_COMNEPS): Ditto.
      	(IX86_BUILTIN_COMLTPS): Ditto.
      	(IX86_BUILTIN_COMLEPS): Ditto.
      	(IX86_BUILTIN_COMGTPS): Ditto.
      	(IX86_BUILTIN_COMGEPS): Ditto.
      	(IX86_BUILTIN_COMUEQPS): Ditto.
      	(IX86_BUILTIN_COMUNEPS): Ditto.
      	(IX86_BUILTIN_COMULTPS): Ditto.
      	(IX86_BUILTIN_COMULEPS): Ditto.
      	(IX86_BUILTIN_COMUGTPS): Ditto.
      	(IX86_BUILTIN_COMUGEPS): Ditto.
      	(IX86_BUILTIN_COMORDPS): Ditto.
      	(IX86_BUILTIN_COMUNORDPS): Ditto.
      	(IX86_BUILTIN_COMFALSEPS): Ditto.
      	(IX86_BUILTIN_COMTRUEPS): Ditto.
      	(IX86_BUILTIN_COMEQPD): Ditto.
      	(IX86_BUILTIN_COMNEPD): Ditto.
      	(IX86_BUILTIN_COMLTPD): Ditto.
      	(IX86_BUILTIN_COMLEPD): Ditto.
      	(IX86_BUILTIN_COMGTPD): Ditto.
      	(IX86_BUILTIN_COMGEPD): Ditto.
      	(IX86_BUILTIN_COMUEQPD): Ditto.
      	(IX86_BUILTIN_COMUNEPD): Ditto.
      	(IX86_BUILTIN_COMULTPD): Ditto.
      	(IX86_BUILTIN_COMULEPD): Ditto.
      	(IX86_BUILTIN_COMUGTPD): Ditto.
      	(IX86_BUILTIN_COMUGEPD): Ditto.
      	(IX86_BUILTIN_COMORDPD): Ditto.
      	(IX86_BUILTIN_COMUNORDPD): Ditto.
      	(IX86_BUILTIN_COMFALSEPD): Ditto.
      	(IX86_BUILTIN_COMTRUEPD): Ditto.
      	(IX86_BUILTIN_PCOMEQUB): Ditto.
      	(IX86_BUILTIN_PCOMNEUB): Ditto.
      	(IX86_BUILTIN_PCOMLTUB): Ditto.
      	(IX86_BUILTIN_PCOMLEUB): Ditto.
      	(IX86_BUILTIN_PCOMGTUB): Ditto.
      	(IX86_BUILTIN_PCOMGEUB): Ditto.
      	(IX86_BUILTIN_PCOMFALSEUB): Ditto.
      	(IX86_BUILTIN_PCOMTRUEUB): Ditto.
      	(IX86_BUILTIN_PCOMEQUW): Ditto.
      	(IX86_BUILTIN_PCOMNEUW): Ditto.
      	(IX86_BUILTIN_PCOMLTUW): Ditto.
      	(IX86_BUILTIN_PCOMLEUW): Ditto.
      	(IX86_BUILTIN_PCOMGTUW): Ditto.
      	(IX86_BUILTIN_PCOMGEUW): Ditto.
      	(IX86_BUILTIN_PCOMFALSEUW): Ditto.
      	(IX86_BUILTIN_PCOMTRUEUW): Ditto.
      	(IX86_BUILTIN_PCOMEQUD): Ditto.
      	(IX86_BUILTIN_PCOMNEUD): Ditto.
      	(IX86_BUILTIN_PCOMLTUD): Ditto.
      	(IX86_BUILTIN_PCOMLEUD): Ditto.
      	(IX86_BUILTIN_PCOMGTUD): Ditto.
      	(IX86_BUILTIN_PCOMGEUD): Ditto.
      	(IX86_BUILTIN_PCOMFALSEUD): Ditto.
      	(IX86_BUILTIN_PCOMTRUEUD): Ditto.
      	(IX86_BUILTIN_PCOMEQUQ): Ditto.
      	(IX86_BUILTIN_PCOMNEUQ): Ditto.
      	(IX86_BUILTIN_PCOMLTUQ): Ditto.
      	(IX86_BUILTIN_PCOMLEUQ): Ditto.
      	(IX86_BUILTIN_PCOMGTUQ): Ditto.
      	(IX86_BUILTIN_PCOMGEUQ): Ditto.
      	(IX86_BUILTIN_PCOMFALSEUQ): Ditto.
      	(IX86_BUILTIN_PCOMTRUEUQ): Ditto.
      	(IX86_BUILTIN_PCOMEQB): Ditto.
      	(IX86_BUILTIN_PCOMNEB): Ditto.
      	(IX86_BUILTIN_PCOMLTB): Ditto.
      	(IX86_BUILTIN_PCOMLEB): Ditto.
      	(IX86_BUILTIN_PCOMGTB): Ditto.
      	(IX86_BUILTIN_PCOMGEB): Ditto.
      	(IX86_BUILTIN_PCOMFALSEB): Ditto.
      	(IX86_BUILTIN_PCOMTRUEB): Ditto.
      	(IX86_BUILTIN_PCOMEQW): Ditto.
      	(IX86_BUILTIN_PCOMNEW): Ditto.
      	(IX86_BUILTIN_PCOMLTW): Ditto.
      	(IX86_BUILTIN_PCOMLEW): Ditto.
      	(IX86_BUILTIN_PCOMGTW): Ditto.
      	(IX86_BUILTIN_PCOMGEW): Ditto.
      	(IX86_BUILTIN_PCOMFALSEW): Ditto.
      	(IX86_BUILTIN_PCOMTRUEW): Ditto.
      	(IX86_BUILTIN_PCOMEQD): Ditto.
      	(IX86_BUILTIN_PCOMNED): Ditto.
      	(IX86_BUILTIN_PCOMLTD): Ditto.
      	(IX86_BUILTIN_PCOMLED): Ditto.
      	(IX86_BUILTIN_PCOMGTD): Ditto.
      	(IX86_BUILTIN_PCOMGED): Ditto.
      	(IX86_BUILTIN_PCOMFALSED): Ditto.
      	(IX86_BUILTIN_PCOMTRUED): Ditto.
      	(IX86_BUILTIN_PCOMEQQ): Ditto.
      	(IX86_BUILTIN_PCOMNEQ): Ditto.
      	(IX86_BUILTIN_PCOMLTQ): Ditto.
      	(IX86_BUILTIN_PCOMLEQ): Ditto.
      	(IX86_BUILTIN_PCOMGTQ): Ditto.
      	(IX86_BUILTIN_PCOMGEQ): Ditto.
      	(IX86_BUILTIN_PCOMFALSEQ): Ditto.
      	(IX86_BUILTIN_PCOMTRUEQ): Ditto.
      	(enum multi_arg_type): New enum for describing the various SSE5
      	intrinsic argument types.
      	(bdesc_multi_arg): New table for SSE5 intrinsics.
      	(ix86_init_mmx_sse_builtins): Add SSE5 intrinsic support.
      	(ix86_expand_multi_arg_builtin): New function for creating SSE5
      	intrinsics.
      	(ix86_expand_builtin): Add SSE5 intrinsic support.
      	(ix86_sse5_valid_op_p): New function to validate SSE5 3 and 4
      	operand instructions.
      	(ix86_expand_sse5_multiple_memory): New function to split the
      	second memory reference from SSE5 instructions.
      	(type_has_variadic_args_p): Delete in favor of stdarg_p.
      	(ix86_return_pops_args): Use stdarg_p to determine if the function
      	has variable arguments.
      	(ix86_setup_incoming_varargs): Ditto.
      	(x86_this_parameter): Ditto.
      
      	* config/i386/i386-protos.h (ix86_expand_sse5_unpack): Add
      	declaration.
      	(ix86_expand_sse5_pack): Ditto.
      	(ix86_sse5_valid_op_p): Ditto.
      	(ix86_expand_sse5_multiple_memory): Ditto.
      
      	* config/i386/i386.md (UNSPEC_SSE5_INTRINSIC): Add new UNSPEC
      	constant for SSE5 support.
      	(UNSPEC_SSE5_UNSIGNED_CMP): Ditto.
      	(UNSPEC_SSE5_TRUEFALSE): Ditto.
      	(UNSPEC_SSE5_PERMUTE): Ditto.
      	(UNSPEC_SSE5_ASHIFT): Ditto.
      	(UNSPEC_SSE5_LSHIFT): Ditto.
      	(UNSPEC_FRCZ): Ditto.
      	(UNSPEC_CVTPH2PS): Ditto.
      	(UNSPEC_CVTPS2PH): Ditto.
      	(PCOM_FALSE): Add new constant for true/false SSE5 comparisons.
      	(PCOM_TRUE): Ditto.
      	(COM_FALSE_S): Ditto.
      	(COM_FALSE_P): Ditto.
      	(COM_TRUE_S): Ditto.
      	(COM_TRUE_P): Ditto.
      	(type attribute): Add ssemuladd, sseiadd1, ssecvt1, sse4arg types.
      	(unit attribute): Add support for ssemuladd, ssecvt1, sseiadd1 sse4arg
      	types.
      	(memory attribute): Ditto.
      	(sse4_1_round<mode>2): Use TARGET_ROUND instead of TARGET_SSE4_1.
      	Use SSE4_1_ROUND_* constants instead of hard coded numbers.
      	(rint<mode>2): Use TARGET_ROUND instead of TARGET_SSE4_1.
      	(floor<mode>2): Ditto.
      	(ceil<mode>2): Ditto.
      	(btrunc<mode>2): Ditto.
      	(nearbyintdf2): Ditto.
      	(nearbyintsf2): Ditto.
      	(sse_setccsf): Disable if SSE5.
      	(sse_setccdf): Ditto.
      	(sse5_setcc<mode>): New support for SSE5 conditional move.
      	(sse5_pcmov_<mode>): Ditto.
      
      	* config/i386/sse.md (SSEMODE1248): New mode iterator for SSE5.
      	(SSEMODEF4): Ditto.
      	(SSEMODEF2P): Ditto.
      	(ssemodesuffixf4): New mode attribute for SSE5.
      	(ssemodesuffixf2s): Ditto.
      	(ssemodesuffixf2c): Ditto.
      	(sserotatemax): Ditto.
      	(ssescalarmode): Ditto.
      	(sse_maskcmpv4sf3): Disable if SSE5.
      	(sse_maskcmpv2df3): Ditto.
      	(sse_vmmaskcmpv4sf3): Ditto.
      	(sse5_fmadd<mode>4): Add SSE5 floating point multiply/add
      	instructions.
      	(sse5_vmfmadd<mode>4): Ditto.
      	(sse5_fmsub<mode>4): Ditto.
      	(sse5_vmfmsub<mode>4): Ditto.
      	(sse5_fnmadd<mode>4): Ditto.
      	(sse5_vmfnmadd<mode>4): Ditto.
      	(sse5_fnmsub<mode>4): Ditto.
      	(sse5_vmfnmsub<mode>4): Ditto.
      	(sse5i_fmadd<mode>4): Ditto.
      	(sse5i_fmsub<mode>4): Ditto.
      	(sse5i_fnmadd<mode>4): Ditto.
      	(sse5i_fnmsub<mode>4): Ditto.
      	(sse5i_vmfmadd<mode>4): Ditto.
      	(sse5i_vmfmsub<mode>4): Ditto.
      	(sse5i_vmfnmadd<mode>4): Ditto.
      	(sse5i_vmfnmsub<mode>4): Ditto.
      	(mulv16qi3): Add SSE5 support.
      	(mulv4si3): Ditto.
      	(sse5_mulv4si3): New insn for 32-bit multiply support on SSE5.
      	(sse2_mulv4si3): Disable if SSE5.
      	(sse4_1_roundpd): Use TARGET_ROUND instead of TARGET_SSE4_1.
      	(sse4_1_roundps): Ditto.
      	(sse4_1_roundsd): Ditto.
      	(sse4_1_roundss): Ditto.
      	(sse_maskcmpv4sf3): Disable if SSE5 so the SSE5 instruction will
      	be generated.
      	(sse_maskcmpsf3): Ditto.
      	(sse_vmmaskcmpv4sf3): Ditto.
      	(sse2_maskcmpv2df3): Ditto.
      	(sse2_maskcmpdf3): Ditto.
      	(sse2_vmmaskcmpv2df3): Ditto.
      	(sse2_eq<mode>3): Ditto.
      	(sse2_gt<mode>3): Ditto.
      	(sse5_pcmov_<mode>): Add SSE5 support.
      	(vec_unpacku_hi_v16qi): Ditto.
      	(vec_unpacks_hi_v16qi): Ditto.
      	(vec_unpacku_lo_v16qi): Ditto.
      	(vec_unpacks_lo_v16qi): Ditto.
      	(vec_unpacku_hi_v8hi): Ditto.
      	(vec_unpacks_hi_v8hi): Ditto.
      	(vec_unpacku_lo_v8hi): Ditto.
      	(vec_unpacks_lo_v8hi): Ditto.
      	(vec_unpacku_hi_v4si): Ditto.
      	(vec_unpacks_hi_v4si): Ditto.
      	(vec_unpacku_lo_v4si): Ditto.
      	(vec_unpacks_lo_v4si): Ditto.
      	(sse5_pmacsww): New SSE5 intrinsic insn.
      	(sse5_pmacssww): Ditto.
      	(sse5_pmacsdd): Ditto.
      	(sse5_pmacssdd): Ditto.
      	(sse5_pmacssdql): Ditto.
      	(sse5_pmacssdqh): Ditto.
      	(sse5_pmacsdqh): Ditto.
      	(sse5_pmacsswd): Ditto.
      	(sse5_pmacswd): Ditto.
      	(sse5_pmadcsswd): Ditto.
      	(sse5_pmadcswd): Ditto.
      	(sse5_pcmov_<move>): Conditional move support on SSE5.
      	(sse5_phaddbw): New SSE5 intrinsic insn.
      	(sse5_phaddbd): Ditto.
      	(sse5_phaddbq): Ditto.
      	(sse5_phaddwd): Ditto.
      	(sse5_phaddwq): Ditto.
      	(sse5_phadddq): Ditto.
      	(sse5_phaddubw): Ditto.
      	(sse5_phaddubd): Ditto.
      	(sse5_phaddubq): Ditto.
      	(sse5_phadduwd): Ditto.
      	(sse5_phadduwq): Ditto.
      	(sse5_phaddudq): Ditto.
      	(sse5_phsubbw): Ditto.
      	(sse5_phsubwd): Ditto.
      	(sse5_phsubdq): Ditto.
      	(sse5_pperm): Ditto.
      	(sse5_pperm_sign_v16qi_v8hi): New insns for pack/unpack with SSE5.
      	(sse5_pperm_zero_v16qi_v8hi): Ditto.
      	(sse5_pperm_sign_v8hi_v4si): Ditto.
      	(sse5_pperm_zero_v8hi_v4si): Ditto.
      	(sse5_pperm_sign_v4si_v2di): Ditto.
      	(sse5_pperm_sign_v4si_v2di): Ditto.
      	(sse5_pperm_pack_v2di_v4si): Ditto.
      	(sse5_pperm_pack_v4si_v8hi): Ditto.
      	(sse5_pperm_pack_v8hi_v16qi): Ditto.
      	(sse5_perm<mode>): New SSE5 intrinsic insn.
      	(rotl<mode>3): Ditto.
      	(sse5_rotl<mode>3): Ditto.
      	(sse5_ashl<mode>3): Ditto.
      	(sse5_lshl<mode>3): Ditto.
      	(sse5_frcz<mode>2): Ditto.
      	(sse5s_frcz<mode>2): Ditto.
      	(sse5_cvtph2ps): Ditto.
      	(sse5_cvtps2ph): Ditto.
      	(sse5_vmmaskcmp<mode>3): Ditto.
      	(sse5_com_tf<mode>3): Ditto.
      	(sse5_maskcmp<mode>3): Ditto.
      	(sse5_maskcmp_uns<mode>3): Ditto.
      	(sse5_maskcmp_uns2<mode>3): Ditto.
      	(sse5_pcom_tf<mode>3): Ditto.
      	
      	* config/i386/predicates.md (sse5_comparison_float_operator): New predicate to match the
      	comparison operators supported by the SSE5 com instruction.
      	(ix86_comparison_int_operator): New predicate to match just the
      	signed int comparisons.
      	(ix86_comparison_uns_operator): New predicate to match just the
      	unsigned int comparisons.
      
      	* doc/invoke.texi (-msse5): Add documentation.
      	(-mfused-madd): Ditto.
      
      	* doc/extend.texi (x86 intrinsics): Document new SSE5 intrinsics.
      
      	* config.gcc (i[34567]86-*-*): Include bmmintrin.h and
      	mmintrin-common.h.
      	(x86_64-*-*): Ditto.
      
      	* config/i386/cpuid.h (bit_SSE5): Define SSE5 bit.
      
      	* config/i386/bmmintrin.h: New file, provide common x86 compiler
      	intrinisics for SSE5.
      
      	* config/i386/smmintrin.h: Move instructions shared with SSE5 to
      	mmintrin-common.h.
      
      	* config/i386/mmintrin-common.h: New file, to contain common
      	instructions between SSE4.1 and SSE5.
      
      	* config/i386/netware.c (gen_stdcall_or_fastcall_decoration): Use
      	FOREACH_FUNCTION_ARGS to iterate over the argument list.
      	(gen_regparm_prefix): Ditto.
      
      	* config/i386/winnt.c (gen_stdcall_or_fastcall_suffix): Use
      	FOREACH_FUNCTION_ARGS to iterate over the argument list.  Use
      	prototype_p to determine if a function is prototyped.
      
      	* gcc.target/i386/sse5-shift1-vector.c
      	* gcc.target/i386/isa-12.c
      	* gcc.target/i386/isa-12.cgcc.target/i386/isa-12.c
      	* gcc.target/i386/sse5-pcmov2.c
      	* gcc.target/i386/isa-3.c
      	* gcc.target/i386/sse5-shift2-vector.c
      	* gcc.target/i386/isa-7.c
      	* gcc.target/i386/funcspec-2.c
      	* gcc.target/i386/sse5-haddX.c
      	* gcc.target/i386/sse5-hadduX.c
      	* gcc.target/i386/isa-9.c
      	* gcc.target/i386/sse5-maccXX.c
      	* gcc.target/i386/sse5-shift3-vector.c
      	* gcc.target/i386/sse5-msubXX.c
      	* gcc.target/i386/sse5-permpX.c
      	* gcc.target/i386/sse5-check.h
      	* gcc.target/i386/sse-12.c
      	* gcc.target/i386/sse-11.c
      	* gcc.target/i386/sse-10.c
      	* gcc.target/i386/sse-13.c
      	* gcc.target/i386/sse-14.c
      	* gcc.target/i386/sse-22.c
      	* gcc.target/i386/sse-2.c
      	* gcc.target/i386/sse-13.c
      	* gcc.target/i386/avx-2.c
      	* gcc.target/i386/sse5-rotate1-vector.c
      	* gcc.target/i386/isa-4.c
      	* gcc.target/i386/sse5-hsubX.c
      	* gcc.target/i386/sse5-pcmov.c
      	* gcc.target/i386/sse5-fma.c
      	* gcc.target/i386/isa-8.c
      	* gcc.target/i386/sse5-rotate2-vector.c
      	* gcc.target/i386/sse5-nmaccXX.c
      	* gcc.target/i386/sse5-imul64-vector.c
      	* gcc.target/i386/sse5-nmsubXX.c
      	* gcc.target/i386/sse5-rotate3-vector.c
      	* gcc.target/i386/sse5-fma-vector.c
      	* gcc.target/i386/sse5-imul32widen-vector.c: Remove SSE5 related testcases
      	* gcc.target/i386/sse5-ima-vector.c
      
      	* gcc.target/i386/funcspec-8.c: Replace SSE5 by SSE4.
      	* gcc.target/i386/funcspec-5.c: Remove SSE5.
      	* gcc.target/i386/funcspec-6.c: Remove fused-add test.
      	* gcc.target/i386/avx-1.c: Remove SSE5.
      	* gcc.target/i386/avx-2.c: Remove SSE5.
      	* g++.dg/other/i386-2.C: Replace SSE5 by SSE4A.
      	* g++.dg/other/i386-3.C: Replace SSE5 by SSE4A.
      	* g++.dg/other/i386-6.C: Replace SSE5 by SSE4A.
      	* g++.dg/other/i386-5.C: Replace SSE5 by SSE4A.
      
      From-SVN: r151099
      Jan Hubicka committed