aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-08-28graphite-ppl.c (ppl_max_for_le): Renamed ppl_max_for_le_pointset.Konrad Trifunovic6-8/+25
2009-08-28 Konrad Trifunovic <konrad.trifunovic@gmail.com> * graphite-ppl.c (ppl_max_for_le): Renamed ppl_max_for_le_pointset. * graphite-ppl.h (ppl_max_for_le): Renamed ppl_max_for_le_pointset. * graphite-poly.c (pbb_number_of_iterations): Rename ppl_max_for_le. * graphite-interchange.c (build_linearized_memory_access): Same. (memory_stride_in_loop): Same. From-SVN: r151184
2009-08-28graphite-dependences.c (pddr_original_scattering): New.Sebastian Pop7-22/+128
2009-08-28 Sebastian Pop <sebastian.pop@amd.com> * graphite-dependences.c (pddr_original_scattering): New. (graphite_legal_transform_dr): Call pddr_original_scattering. (dot_deps_1): New. (dot_deps): New. * graphite-dependences.h (dot_deps): Declared. * graphite-poly.c (new_poly_dr): Initialize PDR_ID. (print_pdr): Print PDR_ID. * graphite-poly.h (struct poly_dr): Add field id. (PDR_ID): New. (pbb_index): New. * graphite-scop-detection.c (dot_all_scops_1): Cleanup comment. From-SVN: r151183
2009-08-28graphite-dependences.c (graphite_carried_dependence_level_k): Do not delete ↵Sebastian Pop3-6/+18
the original dependence relation. 2009-08-28 Sebastian Pop <sebastian.pop@amd.com> * graphite-dependences.c (graphite_carried_dependence_level_k): Do not delete the original dependence relation. From-SVN: r151182
2009-08-28graphite-dependences.c (new_poly_dr_pair): Renamed new_poly_ddr.Sebastian Pop6-83/+160
2009-08-28 Sebastian Pop <sebastian.pop@amd.com> * graphite-dependences.c (new_poly_dr_pair): Renamed new_poly_ddr. (eq_poly_dr_pair_p): Renamed eq_poly_ddr_p. (hash_poly_dr_pair_p): Renamed hash_poly_ddr_p. (free_poly_ddr): New. (pddr_is_empty): New. (dependence_polyhedron_1): Now returns a poly_ddr_p. (dependence_polyhedron): Same. Remove useless gcc_assert. Remove fprintfs. (graphite_legal_transform_dr): Call pddr_is_empty and free_poly_ddr. (graphite_carried_dependence_level_k): Call pddr_is_empty. * graphite-dependences.h (enum poly_dependence_kind): New. (poly_dr_pair): Renamed poly_ddr. Added a field kind. (PDRP_SOURCE): Renamed PDDR_SOURCE. (PDRP_SINK): Renamed PDDR_SINK. (PDRP_DDP): Renamed PDDR_DDP. (PDDR_KIND): New. (free_poly_ddr): Declared. * graphite-poly.c (new_scop): Use the new hash function names. * graphite-poly.h (struct scop): Renamed field original_pdr_pairs into original_pddrs. (SCOP_ORIGINAL_PDR_PAIRS): Renamed SCOP_ORIGINAL_PDDRS. From-SVN: r151181
2009-08-28cfgloopmanip.c (create_empty_loop_on_edge): Generate upper bounds with ↵Sebastian Pop3-6/+18
LT_EXPR to make niter analysis more precise on code... 2009-08-28 Sebastian Pop <sebastian.pop@amd.com> * cfgloopmanip.c (create_empty_loop_on_edge): Generate upper bounds with LT_EXPR to make niter analysis more precise on code generated by Graphite. From-SVN: r151180
2009-08-28graphite-dependences.c (graphite_legal_transform_dr): Fix formatting.Sebastian Pop3-43/+55
2009-08-28 Sebastian Pop <sebastian.pop@amd.com> * graphite-dependences.c (graphite_legal_transform_dr): Fix formatting. (graphite_legal_transform_bb): Same. (poly_drs_may_alias_p): Same. From-SVN: r151179
2009-08-28README (files): Describe files entry.Bruce Korb6-163/+70
2009-08-28 Bruce Korb <bkorb@gnu.org> Steve Ellcey <sje@cup.hp.com> * README (files): Describe files entry. * inclhack.def (hpux_stdint_least): Remove. (hpux_stdint_fast): Remove. (hpux_stdint_fast): Remove. (hpux_stdint_least_fast): New. (hpux_inttype_int_least8_t): Remove. (hpux_inttype_int8_t): Modify. * fixincl.x: Regenerate. * tests/base/stdint.h: Update. * tests/base/sys/_inttypes.h: Update. Co-Authored-By: Steve Ellcey <sje@cup.hp.com> From-SVN: r151178
2009-08-28tree.def: Remove note about obsolete TYPE_NONCOPIED_PARTS.Richard Guenther2-10/+4
2009-08-28 Richard Guenther <rguenther@suse.de> * tree.def: Remove note about obsolete TYPE_NONCOPIED_PARTS. From-SVN: r151177
2009-08-28re PR lto/41058 (FAIL: ext/pb_ds/regression/hash_data_map_rand.cc)Richard Guenther2-0/+15
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
2009-08-28inclhack.def (hpux_imaginary_i): Remove spaces.Steve Ellcey5-22/+29
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
2009-08-28netware.c: Include langhooks.h.Jan Beulich4-46/+39
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
2009-08-28configure.ac: For in-tree ld...Jan Beulich3-2/+20
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
2009-08-28collect2.c (DO_COLLECT_EXPORT_LIST): New internal macro, always defined.Olivier Hainque7-91/+260
* 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
2009-08-28Daily bump.GCC Administrator1-1/+1
From-SVN: r151156
2009-08-27sh.c (split_branches): Check the result of next_active_insn.Kaz Kojima2-3/+9
* config/sh/sh.c (split_branches): Check the result of next_active_insn. From-SVN: r151152
2009-08-27hpux.h (LIB_SPEC): Add -lrt for when using -pthread -fopenmpSteve Ellcey2-1/+6
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
2009-08-27* doc/service.texi (service directory): Update URL.Gerald Pfeifer2-1/+5
From-SVN: r151150
2009-08-27re PR rtl-optimization/40861 (ICE in simplify_subreg, at simplify-rtx.c:4981)Uros Bizjak4-21/+38
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
2009-08-27ia64.c (ia64_attribute_table): Add "common_object" entry.Tristan Gingold3-0/+121
* 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
2009-08-27re PR fortran/40869 ([F03] PPC assignment checking)Janus Weil7-24/+110
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
2009-08-27Let test_summary invoke, not parse config.status contents.Ralf Wildenhues2-5/+8
contrib/* PR testsuite/41166 * test_summary: Invoke config.status, rather than trying to parse it. Adjust awk script. From-SVN: r151145
2009-08-27PR libfortran/39667 Fix testcases to not need fd_truncate.Janne Blomqvist13-29/+53
From-SVN: r151144
2009-08-27expr.c (expand_expr_real_2): New function taking exploded unary or binary ↵Michael Matz2-967/+1075
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
2009-08-27re PR fortran/28039 (Warn when ignoring extra characters in the format ↵Tobias Burnus2-1/+6
specification) 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
2009-08-27re PR fortran/37425 (Fortran 2003: GENERIC bindings as operators)Daniel Kraft13-133/+660
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
2009-08-27gengtype.c (main): Handle uint64_t.Richard Guenther11-5/+36
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
2009-08-27re PR debug/41170 (namespace DIE not generated when it contains only a typedef)Dodji Seketeli4-1/+44
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
2009-08-27gnu.ver: Fixups for string member functions.Benjamin Kosnik2-2/+10
2009-08-26 Benjamin Kosnik <bkoz@redhat.com> * config/abi/pre/gnu.ver: Fixups for string member functions. From-SVN: r151137
2009-08-27Daily bump.GCC Administrator1-1/+1
From-SVN: r151135
2009-08-27invoke.texi (AVR Options): Remove documentation of -minit-stack switch.Anatoly Sokolov2-6/+6
* doc/invoke.texi (AVR Options): Remove documentation of -minit-stack switch. From-SVN: r151132
2009-08-26re PR fortran/41162 (416.gamess in SPEC CPU 2006 failed to build)H.J. Lu2-0/+10
2009-08-26 H.J. Lu <hongjiu.lu@intel.com> PR fortran/41162 * gfortran.dg/pr41162.f: New. From-SVN: r151130
2009-08-26mips.exp: Replace isa(_rev)=...!...Adam Nemet5-51/+54
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
2009-08-26mips-protos.h (mips_output_sync): Declare.Richard Sandiford6-466/+656
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
2009-08-26re PR libstdc++/41005 ([C++0x] Unable to link fstream open and ctor with ↵Jonathan Wakely7-10/+59
std::string argument.) 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
2009-08-26ltmain.sh (removedotparts): Don't use comma as 's' separator.Dave Korn4-4/+14
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
2009-08-26re PR c/41163 (verify_gimple fails)Richard Guenther7-9/+56
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
2009-08-26Revert accidental commit of tree-cfg.c in r151099.Michael Matz1-1/+0
From-SVN: r151119
2009-08-26tree-ssa-structalias.c (create_variable_info_for): Remove strange ↵Richard Guenther4-4/+67
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
2009-08-26sync.md: Update comment about unpredictable LL/SC lock clearing by a taken ↵Uros Bizjak2-27/+41
branch. * 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
2009-08-26call.c (build_builtin_candidate): Don't set LOOKUP_ONLYCONVERTING if we're ↵Jason Merrill5-4/+68
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
2009-08-26call.c (build_conditional_expr): Fix logic errors.Jason Merrill4-29/+33
* call.c (build_conditional_expr): Fix logic errors. (build_new_op): Remove dead COND_EXPR handling. From-SVN: r151113
2009-08-26re PR fortran/28039 (Warn when ignoring extra characters in the format ↵Bud Davis2-14/+20
specification) 2009-08-22 Bud Davis <bdavis9659@sbcglobal.net> PR fortran/28093 * io.c: reverted previous patch From-SVN: r151112
2009-08-26Daily bump.GCC Administrator1-1/+1
From-SVN: r151111
2009-08-25hwint.h (HOST_LONG_FORMAT): New macroDouglas B Rupp8-18/+58
* 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
2009-08-25builtin-math-7.c: Add -mieee for sh*-*-* targets.Kaz Kojima2-0/+5
* gcc.dg/torture/builtin-math-7.c: Add -mieee for sh*-*-* targets. From-SVN: r151107
2009-08-25basic_string.h (basic_string): Add cbegin(), cend(), crbegin(), crend() in ↵Benjamin Kosnik64-487/+1509
C++0x mode. 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
2009-08-25bmmintrin.h: Replace by #error.Jan Hubicka64-7912/+634
* 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
2009-08-25limits-fndefn.c: Add dg-timeout-factor.Uros Bizjak2-0/+5
* gcc.c-torture/compile/limits-fndefn.c: Add dg-timeout-factor. From-SVN: r151098
2009-08-25* c-common.c (c_common_reswords) add the alignof keyword,Ville Voutilainen4-0/+16
with same RID as __alignof and __alignof__ From-SVN: r151097
2009-08-26hooks.h (hook_bool_const_int_const_int_true): Declare.Anatoly Sokolov59-211/+435
* hooks.h (hook_bool_const_int_const_int_true): Declare. * hooks.c (hook_bool_const_int_const_int_true): New function. * target.h (struct gcc_target): Add can_eliminate field. * target-def.h (TARGET_CAN_ELIMINATE): Define. (TARGET_INITIALIZER): Use TARGET_CAN_ELIMINATE. * ira.c (setup_eliminable_regset): Use can_eliminate target hook. * reload1.c (update_eliminables, init_elim_table): (Ditto.). (elim_table): Revise comment. * system.h (CAN_ELIMINATE): Poison. * defaults.h (CAN_ELIMINATE): Remove. * doc/tm.texi (CAN_ELIMINATE): Revise documentation. * config/alpha/vms.h (CAN_ELIMINATE): Remove macro. * config/alpha/alpha.c (TARGET_CAN_ELIMINATE) [TARGET_ABI_OPEN_VMS]: Define macro. (alpha_vms_can_eliminate): Declare as static, change return type to bool. * config/alpha/alpha-protos.h (alpha_vms_can_eliminate): Remove. * config/arm/arm.h (CAN_ELIMINATE): Remove macro. * config/arm/arm.c (TARGET_CAN_ELIMINATE): Define macro. (arm_can_eliminate): New function. * config/avr/avr.h (CAN_ELIMINATE): Remove macro. * config/avr/avr.c (TARGET_CAN_ELIMINATE): Define macro. (avr_can_eliminate): Declare as static. * config/avr/avr-protos.h (avr_can_eliminate): Remove. * config/bfin/bfin.h (CAN_ELIMINATE): Remove macro. * config/bfin/bfin.c (TARGET_CAN_ELIMINATE): Define macro. (bfin_can_eliminate): New function. * config/crx/crx.h (CAN_ELIMINATE): Remove macro. * config/crx/crx.c (TARGET_CAN_ELIMINATE): Define macro. (crx_can_eliminate): New function. * config/fr30/fr30.h (CAN_ELIMINATE): Remove macro. * config/fr30/fr30.c (TARGET_CAN_ELIMINATE): Define macro. (fr30_can_eliminate): New function. * config/frv/frv.h (CAN_ELIMINATE): Remove macro. * config/frv/frv.c (TARGET_CAN_ELIMINATE): Define macro. (frv_can_eliminate): New function. * config/h8300/h8300.h (CAN_ELIMINATE): Remove macro. * config/h8300/h8300.c (TARGET_CAN_ELIMINATE): Define macro. (h8300_can_eliminate): New function. * config/i386/i386.h (CAN_ELIMINATE): Remove macro. * config/i386/i386.c (TARGET_CAN_ELIMINATE): Define macro. (i386_can_eliminate): Declare as static, change return type to bool. * config/i386/i386-protos.h (i386_can_eliminate): Remove. * config/ia64/ia64.h (CAN_ELIMINATE): Remove macro. * config/ia64/ia64.c (TARGET_CAN_ELIMINATE): Define macro. (ia64_can_eliminate): New function. * config/iq2000/iq2000.h (CAN_ELIMINATE): Remove macro. * config/iq2000/iq2000.c (TARGET_CAN_ELIMINATE): Define macro. (iq2000_can_eliminate): New function. * config/m32r/m32r.h (CAN_ELIMINATE): Remove macro. * config/m32r/m32r.c (TARGET_CAN_ELIMINATE): Define macro. (m32r_can_eliminate): New function. * config/m68hc11/m68hc11.h (CAN_ELIMINATE): Remove macro. * config/m68hc11/m68hc11.c (TARGET_CAN_ELIMINATE): Define macro. (m68hc11_can_eliminate): New function. * config/m68k/m68k.h (CAN_ELIMINATE): Remove macro. * config/m68k/m68k.c (TARGET_CAN_ELIMINATE): Define macro. (m68k_can_eliminate): New function. * config/mep/mep.h (CAN_ELIMINATE): Remove macro. * config/mep/mep.c (TARGET_CAN_ELIMINATE): Define macro. (mep_can_eliminate): New function. * config/mips/mips.h (CAN_ELIMINATE): Remove macro. * config/mips/mips.c (TARGET_CAN_ELIMINATE): Define macro. (mips_can_eliminate): New function. * config/rs6000/rs6000.h (CAN_ELIMINATE): Remove macro. * config/rs6000/rs6000.c (TARGET_CAN_ELIMINATE): Define macro. (rs6000_can_eliminate): New function. * config/s390/s390.h (CAN_ELIMINATE): Remove macro. * config/s390/s390.c (TARGET_CAN_ELIMINATE): Define macro. (s390_can_eliminate): Declare as static. * config/s390/s390-protos.h (sparc_can_eliminate): Remove. * config/score/score.h (CAN_ELIMINATE): Remove macro. * config/score/score.c (TARGET_CAN_ELIMINATE): Define macro. (score_can_eliminate): New function. * config/sparc/sparc.h (CAN_ELIMINATE): Remove macro. * config/sparc/sparc.c (TARGET_CAN_ELIMINATE): Define macro. (sparc_can_eliminate): Declare as static. * config/sparc/sparc-protos.h (sparc_can_eliminate): Remove. * config/stormy16/stormy16.h (CAN_ELIMINATE): Remove macro. * config/stormy16/stormy16.c (TARGET_CAN_ELIMINATE): Define macro. (xstormy16_can_eliminate): New function. * config/v850/v850.h (CAN_ELIMINATE): Remove macro. * config/v850/v850.c (TARGET_CAN_ELIMINATE): Define macro. (v850_can_eliminate): New function. From-SVN: r151096