1. 24 May, 2007 2 commits
  2. 23 May, 2007 13 commits
    • * g++.dg/other/vrp1.C: New test. · b9a97851
      From-SVN: r125007
      Ian Lance Taylor committed
    • re PR preprocessor/20077 (GCC accepts macro definitions that fail a constraint) · 126e073b
      2007-05-23  Simon Martin  <simartin@users.sourceforge.net>
      
      	PR preprocessor/20077
      	* macro.c (create_iso_definition): Fixed the method to determine whether
      	the token-pasting operator appears at the beginning or the end of a macro.
      
      From-SVN: r125000
      Simon Martin committed
    • Fix up MIPS16 hard float and add support for complex. · a38e0142
      2007-05-23  Sandra Loosemore  <sandra@codesourcery.com>
      	    Nigel Stephens  <nigel@mips.com>
      	    Richard Sandiford  <richard@codesourcery.com>
      
      	gcc/
      	Fix up MIPS16 hard float and add support for complex.
      
      	* config/mips/mips.h (TARGET_HARD_FLOAT_ABI): New.
      	(TARGET_SOFT_FLOAT_ABI): New.
      	(TARGET_CPU_CPP_BUILTINS): Define __mips_hard_float and
      	__mips_soft_float to reflect the ABI in use, not whether the
      	FPU is directly accessible (e.g., in MIPS16 mode).
      	(UNITS_PER_HWFPVALUE): Use TARGET_SOFT_FLOAT_ABI.
      	(UNITS_PER_FPVALUE): Likewise.
      
      	* config/mips/mips.c (mips_expand_call): Remove redundant
      	TARGET_MIPS16 check.
      	(mips_arg_regno): New.
      	(function_arg_advance): When setting bits in cum->fp_code for
      	MIPS16, don't subtract 1 from cum->arg_number, since it is now
      	zero-based.
      	(function_arg): Use mips_arg_regno.
      	(mips_return_mode_in_fpr_p): New.
      	(mips16_call_stub_mode_suffix): New.
      	(mips16_cfun_returns_in_fpr_p): New.
      	(mips_save_reg_p): Use mips16_cfun_returns_in_fpr_p.
      	(mips_output_function_prologue): Test mips16_hard_float, not
      	!TARGET_SOFT_FLOAT, to decide when a function stub is required.
      	(mips_expand_epilogue): Call MIPS16 helper routines to copy
      	return value into a floating-point register.
      	(mips_can_use_return_insn): Use mips16_cfun_returns_in_fpr_p.
      	(mips_function_value): Rewrite to use mips_return_mode_in_fpr_p.
      	(mips16_fp_args): Handle MIPS32r2 ISA which supports
      	TARGET_FLOAT64, and use mfhc1/mthc1 to copy the most significant
      	word of double arguments from or to the high bits of 64-bit
      	floating point registers.
      	(build_mips16_function_stub): Fill in DECL_RESULT for stubdecl.
      	(mips16_fpret_double): New helper function.
      	(build_mips16_call_stub): Use mips16_return_mode_in_fpr_p.  Add
      	support for complex modes.  Fill in DECL_RESULT for stubdecl.
      	(mips_init_libfuncs): Remove redundant TARGET_MIPS16 check.
      
      	* config/mips/mips16.S 
      	(RET, ARG1, ARG2): New.
      	(MERGE_GPRf, MERGE_GPRt): New.
      	(DELAYt, DELAYf): New.
      	(MOVE_SF_BYTE0, MOVE_SI_BYTE0): New.
      	(MOVE_SF_BYTE4, MOVE_SF_BYTE8): New.
      	(MOVE_DF_BYTE0, MOVE_DF_BYTE8): New.
      	(MOVE_SF_RET, MOVE_SC_RET, MOVE_DF_RET, MOVE_DC_RET, MOVE_SI_RET): New.
      	(SFOP): Renamed to...
      	(OPSF3): This, and macro-ified.  Updated all uses.
      	(SFOP2): Renamed to...
      	(OPSF2): This, and macro-ified.  Updated all uses.
      	(SFCMP): Renamed to...
      	(CMPSF): This, and macro-ified.  Updated all uses.
      	(SFREVCMP): Renamed to...
      	(REVCMPSF): This, and macro-ified.  Updated all uses.
      	(__mips16_floatsisf, __mips16_fix_truncsfsi): Macro-ified.
      	(LDDBL1, LDDBL2, RETDBL): Deleted.
      	(DFOP): Renamed to...
      	(OPDF3): This, and macro-ified.  Updated all uses.
      	(DFOP2): Renamed to...
      	(OPDF2): This, and macro-ified.  Updated all uses.
      	(__mips16_extendsfdf2, __mips16_truncdfsf2): Macro-ified.
      	(DFCMP): Renamed to...
      	(CMPDF): This, and macro-ified.  Updated all uses.
      	(DFREVCMP): Renamed to...
      	(REVCMPDF): This, and macro-ified.  Updated all uses.
      	(__mips16_floatsidf, __mips16_fix_truncdfsi): Macro-ified.
      	(RET_FUNCTION): New.
      	(__mips16_ret_sf, __mips16_ret_df): Macro-ified.
      	(__mips16_ret_sc, __mips16_ret_dc): New.
      	(STUB_ARGS_0, STUB_ARGS_1, STUB_ARGS_5, STUB_ARGS_9, STUB_ARGS_2,
      	STUB_ARGS_6, STUB_ARGS_10): New.
      	(CALL_STUB_NO_RET): New.
      	(__mips16_call_stub_1): Macro-ified.
      	(__mips16_call_stub_5): Macro-ified.
      	(__mips16_call_stub_2): Macro-ified.
      	(__mips16_call_stub_6): Macro-ified.
      	(__mips16_call_stub_9): Macro-ified.
      	(__mips16_call_stub_10): Macro-ified.
      	(CALL_STUB_RET): New.
      	(__mips16_call_stub_sf_0): Macro-ified.
      	(__mips16_call_stub_sf_1): Macro-ified.
      	(__mips16_call_stub_sf_5): Macro-ified.
      	(__mips16_call_stub_sf_2): Macro-ified.
      	(__mips16_call_stub_sf_6): Macro-ified.
      	(__mips16_call_stub_sf_9): Macro-ified.
      	(__mips16_call_stub_sf_10): Macro-ified.
      	(__mips16_call_stub_df_0): Macro-ified.
      	(__mips16_call_stub_df_1): Macro-ified.
      	(__mips16_call_stub_df_5): Macro-ified.
      	(__mips16_call_stub_df_2): Macro-ified.
      	(__mips16_call_stub_df_6): Macro-ified.
      	(__mips16_call_stub_df_9): Macro-ified.
      	(__mips16_call_stub_df_10): Macro-ified.
      	(__mips16_call_stub_sc_0): New.
      	(__mips16_call_stub_sc_1): New.
      	(__mips16_call_stub_sc_5): New.
      	(__mips16_call_stub_sc_2): New.
      	(__mips16_call_stub_sc_6): New.
      	(__mips16_call_stub_sc_9): New.
      	(__mips16_call_stub_sc_10): New.
      	(__mips16_call_stub_dc_0): New.
      	(__mips16_call_stub_dc_1): New.
      	(__mips16_call_stub_dc_5): New.
      	(__mips16_call_stub_dc_2): New.
      	(__mips16_call_stub_dc_6): New.
      	(__mips16_call_stub_dc_9): New.
      	(__mips16_call_stub_dc_10): New.
      	
      	* config/mips/t-elf (LIB1ASMFUNCS): Add MIPS16 floating-point stubs.
      	* config/mips/t-isa3264 (LIB1ASMFUNCS): Likewise.
      	* config/mips/t-r2900 (LIB1ASMFUNCS): Likewise.
      
      	gcc/testsuite/
      	* gcc.target/mips/inter/mips16_stubs_1_main.c: New.
      	* gcc.target/mips/inter/mips16_stubs_1_x.c: New.
      	* gcc.target/mips/inter/mips16_stubs_1_y.c: New.
      	* gcc.target/mips/inter/mips16-inter.exp: New.
      
      
      Co-Authored-By: Nigel Stephens <nigel@mips.com>
      Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
      
      From-SVN: r124999
      Sandra Loosemore committed
    • * gcc.dg/bf-spl1.c, gcc.dg/m68k-pic-1.c: Enable on fido-*-*. · 70c1e033
      From-SVN: r124996
      Kazu Hirata committed
    • invoke.texi (Invoking GCC): Document that the order of the -l option matters. · 70f57af1
      	* doc/invoke.texi (Invoking GCC): Document that the order of the
      	-l option matters.
      
      From-SVN: r124995
      Ian Lance Taylor committed
    • sse3-addsubpd.c: Don't include stdlib.h nor i386-cpuid.h. · 8d8aad97
      2007-05-23  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.target/i386/sse3-addsubpd.c: Don't include stdlib.h
      	nor i386-cpuid.h.  Include sse3-check.h.  Remove main ().
      	* gcc.target/i386/sse3-addsubps.c: Likewise.
      	* gcc.target/i386/sse3-haddpd.c: Likewise.
      	* gcc.target/i386/sse3-haddps.c: Likewise.
      	* gcc.target/i386/sse3-hsubpd.c: Likewise.
      	* gcc.target/i386/sse3-hsubps.c: Likewise.
      	* gcc.target/i386/sse3-lddqu.c: Likewise.
      	* gcc.target/i386/sse3-movddup.c: Likewise.
      	* gcc.target/i386/sse3-movshdup.c: Likewise.
      	* gcc.target/i386/sse3-movsldup.c: Likewise.
      
      	* gcc.target/i386/ssse3-pabsb.c: Don't include stdlib.h
      	nor i386-cpuid.h.  Include ssse3-check.h.  Remove main ().
      	* gcc.target/i386/ssse3-pabsd.c: Likewise.
      	* gcc.target/i386/ssse3-pabsw.c: Likewise.
      	* gcc.target/i386/ssse3-palignr.c: Likewise.
      	* gcc.target/i386/ssse3-phaddd.c: Likewise.
      	* gcc.target/i386/ssse3-phaddsw.c: Likewise.
      	* gcc.target/i386/ssse3-phaddw.c: Likewise.
      	* gcc.target/i386/ssse3-phsubd.c: Likewise.
      	* gcc.target/i386/ssse3-phsubsw.c: Likewise.
      	* gcc.target/i386/ssse3-phsubw.c: Likewise.
      	* gcc.target/i386/ssse3-pmaddubsw.c: Likewise.
      	* gcc.target/i386/ssse3-pmulhrsw.c: Likewise.
      	* gcc.target/i386/ssse3-pshufb.c: Likewise.
      	* gcc.target/i386/ssse3-psignb.c: Likewise.
      	* gcc.target/i386/ssse3-psignd.c: Likewise.
      	* gcc.target/i386/ssse3-psignw.c: Likewise.
      	* gcc.target/i386/ssse3-vals.h: Likewise.
      
      	* gcc.target/i386/sse3-check.h: New file.
      	* gcc.target/i386/ssse3-check.h: Likewise.
      
      From-SVN: r124994
      H.J. Lu committed
    • re PR bootstrap/32009 (building gcc4-4.3/4.4.0-20070518 failed on OSX 10.3.9) · 7e25695e
      2007-05-23  Paolo Bonzini  <bonzini@gnu.org>
      
      	PR bootstrap/32009
      	* mh-ppc-darwin: Temporarily disable.
      
      From-SVN: r124990
      Paolo Bonzini committed
    • re PR fortran/32046 (wrong code with -O2 for gfortran.dg/interface_12.f90 & result_in_spec_1.f90) · 7c57b2f1
      	PR fortran/32046
      	* trans-expr.c (gfc_trans_zero_assign): Convert the result of
      	TYPE_SIZE_UNIT into a signed type.
      	(gfc_trans_array_copy):  Likewise.
      	(gfc_trans_array_constructor_copy): Likewise.
      	* trans-array.c (gfc_trans_create_temp_array): Likewise.
      	(gfc_grow_array): Likewise.
      	(gfc_array_init_size): Likewise.
      	(gfc_duplicate_allocatable): Likewise.
      	* trans-stmt.c (allocate_temp_for_forall_nest_1): Likewise.
      
      From-SVN: r124985
      Francois-Xavier Coudert committed
    • re PR target/30987 (Problem while compiling gcc for score) · 6d0ceb76
      2007-05-23  Chen Liqin  <liqin@sunnorth.com.cn>
      
      	PR target/30987
      	* config/score/misc.md (bitclr_c, bitset_c, bittgl_c): remove.
      	* config/score/predicate.md (const_pow2, const_npow2): remove.
      	* config/score/score.h (ASM_OUTPUT_EXTERNAL): add ASM_OUTPUT_EXTERNAL undef.
      	PR target/30474
      	* config/score/score.c (score_print_operand): makes sure that only lower 
              bits are used.
      
      From-SVN: r124983
      Chen Liqin committed
    • tree-vrp.c (avoid_overflow_infinity): New static function, broken out of set_value_range_to_value. · b80cca7b
      	* tree-vrp.c (avoid_overflow_infinity): New static function,
      	broken out of set_value_range_to_value.
      	(set_value_range_to_value): Call avoid_overflow_infinity.
      	(extract_range_from_assert): Likewise.
      
      From-SVN: r124981
      Ian Lance Taylor committed
    • re PR fortran/18923 (segfault after subroutine name confusion) · 24016fdb
      2007-05-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/18923
      	* resolve.c (resolve_function): Don't call resolve_global_procedure if
      	there is no name. Delete duplicated statement in ELSE clause.
      
      Co-Authored-By: Daniel Franke <franke.daniel@gmail.com>
      
      From-SVN: r124979
      Jerry DeLisle committed
    • re PR middle-end/31095 (ICE in expand_expr_real_1, at expr.c:8786) · 1809a520
      2007-05-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              PR middle-end/31095
               * builtins.c (expand_builtin_memmove_args): Strip nops that don't
              change the type before looking for a COMPOUND_EXPR.
      
      2007-05-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              PR middle-end/31095
              * gcc.c-torture/compile/bcopy-1.c: New testcase.
      
      From-SVN: r124975
      Andrew Pinski committed
    • Daily bump. · 6a57dd4f
      From-SVN: r124973
      GCC Administrator committed
  3. 22 May, 2007 25 commits
    • lower-subreg.c (decompose_multiword_subregs): If we change an insn, call remove_retval_note on it. · 1570a704
      	* lower-subreg.c (decompose_multiword_subregs): If we change an
      	insn, call remove_retval_note on it.
      
      From-SVN: r124969
      Ian Lance Taylor committed
    • re PR tree-optimization/31606 (ICE in try_instantiate_multiple_fields, at tree-sra.c:1601) · 1897129f
      2007-05-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
      
              PR middle-end/31606
              * gcc.c-torture/20070522-1.c: New testcase.
      
      From-SVN: r124968
      Andrew Pinski committed
    • sse4_1-check.h: Don't include <stdio.h>. · a9535314
      2007-05-22  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.target/i386/sse4_1-check.h: Don't include <stdio.h>.
      
      From-SVN: r124967
      H.J. Lu committed
    • testsuite_allocator.h (check_new): Assign false to new_called. · b0e94ec9
      2007-05-22  Paolo Carlini  <pcarlini@suse.de>
      
      	* testsuite/util/testsuite_allocator.h (check_new): Assign false
      	to new_called.
      	(check_delete): Likewise for delete_called.
      
      From-SVN: r124966
      Paolo Carlini committed
    • 20000320-1.x, [...]: XFAIL on m68k-*-* and check_effective_target_coldfire_fpu. · 0a2acc8a
      	* gcc.c-torture/execute/ieee/20000320-1.x,
      	gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: XFAIL on
      	m68k-*-* and check_effective_target_coldfire_fpu.
      
      From-SVN: r124964
      Kazu Hirata committed
    • name-lookup.c (ambiguous_decl): Adds check for hidden types. · 8e89cbfe
      	* name-lookup.c (ambiguous_decl): Adds check for hidden types.
      	(unqualified_namespace_lookup): Adds check for hidden types.
      
      	* g++.dg/lookup/hidden-class10.C: New test.
      	* g++.dg/lookup/hidden-class11.C: New test.
      
      From-SVN: r124963
      Ollie Wild committed
    • libgfortran.h: Mark stop_numeric as noreturn. · 6b12f000
      2007-05-22  Tobias Burnus  <burnus@net-b.de>
      
             * libgfortran.h: Mark stop_numeric as noreturn.
      
      From-SVN: r124962
      Tobias Burnus committed
    • regs.h (end_hard_regno): New function. · 09e18274
      gcc/
      	* regs.h (end_hard_regno): New function.
      	(END_HARD_REGNO, END_REGNO): New macros.
      	(add_to_hard_reg_set): New function.
      	(remove_from_hard_reg_set): Likewise.
      	(in_hard_reg_set_p): Likewise.
      	(overlaps_hard_reg_set_p): Likewise.
      	* bt-load.c (find_btr_reference): Use overlaps_hard_reg_set_p.
      	(note_btr_set): Use END_HARD_REGNO.
      	* caller-save.c (setup_save_areas): Use end_hard_regno.
      	(mark_set_regs): Use END_HARD_REGNO.
      	(add_stored_regs): Use end_hard_regno.
      	(mark_referenced_regs): Use add_to_hard_reg_set.
      	* combine.c (update_table_tick): Use END_REGNO.
      	(record_value_for_reg): Likewise.
      	(record_dead_and_set_regs): Likewise.
      	(get_last_value_validate): Likewise.
      	(use_crosses_set_p): Likewise.
      	(reg_dead_at_p_1): Likewise.
      	(reg_dead_at_p): Likewise.
      	(mark_used_regs_combine): Use add_to_hard_reg_set.
      	(move_deaths): Use END_HARD_REGNO.
      	(reg_bitfield_target_p): Use end_hard_regno.
      	(distribute_notes): Use END_HARD_REGNO.
      	* cse.c (mention_regs): Use END_REGNO.
      	(insert): Use add_to_hard_reg_set.
      	(invalidate): Use END_HARD_REGNO.
      	(invalidate_for_call): Likewise.
      	(exp_equiv_p): Use END_REGNO.
      	(cse_insn): Likewise.
      	* cselib.c (cselib_invalidate_regno): Use end_hard_regno.
      	* df-problems.c (df_urec_mark_reg_change): Use END_HARD_REGNO.
      	* df-scan.c (df_ref_record): Use END_HARD_REGNO.
      	* function.c (keep_stack_depressed): Use end_hard_regno.
      	* global.c (global_alloc): Use end_hard_regno.
      	(global_conflicts): Use add_to_hard_reg_set instead of
      	mark_reg_live_nc.
      	(find_reg): Likewise.
      	(mark_reg_store): Likewise.
      	(mark_reg_conflicts): Likewise.
      	(mark_reg_death): Use remove_from_hard_reg_set.
      	(mark_reg_live_nc): Delete.
      	(set_preference): Use end_hard_regno.
      	* local-alloc.c (mark_life): Use add_to_hard_reg_set and
      	remove_from_hard_reg_set.
      	(post_mark_life): Use add_to_hard_reg_set.
      	* mode-switching.c (reg_dies): Use remove_from_hard_reg_set.
      	(reg_becomes_live): Use add_to_hard_reg_set.
      	* recog.c (reg_fits_class_p): Use in_hard_reg_set_p.
      	(peep2_find_free_register): Use add_to_hard_reg_set.
      	* reg-stack.c (convert_regs_exit): Use END_HARD_REGNO.
      	* regclass.c (record_reg_classes): Use in_hard_reg_set_p.
      	* regrename.c (note_sets): Use add_to_hard_reg_set.
      	(clear_dead_regs): Use remove_from_hard_reg_set.
      	(regrename_optimize): Use add_to_hard_reg_set.
      	(find_oldest_value_reg): Use in_hard_reg_set_p.
      	* reload.c (push_reload): Use in_hard_reg_set_p and end_hard_regno.
      	(hard_reg_set_here_p): Use end_hard_regno.
      	(decompose): Likewise.
      	(reg_overlap_mentioned_for_reload_p): Use END_HARD_REGNO.
      	(find_equiv_reg): Use in_hard_reg_set_p and end_hard_regno.
      	* reload1.c (compute_use_by_pseudos): Use add_to_hard_reg_set.
      	(mark_home_live): Use end_hard_regno.
      	(spill_hard_reg): Likewise.
      	(clear_reload_reg_in_use): Likewise.
      	* reorg.c (delete_prior_computation): Use END_REGNO.
      	* resource.c (update_live_status): Use END_HARD_REGNO.
      	(mark_referenced_resources): Use add_to_hard_reg_set.
      	(mark_set_resources): Likewise.
      	(mark_target_live_regs): Likewise.  Use remove_from_hard_reg_set.
      	* rtlanal.c (refers_to_regno_p): Use END_REGNO.
      	(reg_overlap_mentioned_p): Likewise.
      	(dead_or_set_p): Likewise.  Use an exclusive upper loop bound.
      	(covers_regno_no_parallel_p): Use END_REGNO.
      	(find_regno_note): Likewise.
      	(find_reg_fusage): Use END_HARD_REGNO.
      	* stmt.c (decl_overlaps_hard_reg_set_p): Use overlaps_hard_reg_set_p.
      	* var-tracking.c (emit_note_insn_var_location): Use end_hard_regno.
      
      From-SVN: r124961
      Richard Sandiford committed
    • decl.c (duplicate_decls): Verify namespace names are unique. · 6936461f
      	* decl.c (duplicate_decls): Verify namespace names are unique.
      
      	* g++.dg/lookup/name-clash5.C: New test.
      	* g++.dg/lookup/name-clash6.C: New test.
      
      From-SVN: r124960
      Ollie Wild committed
    • i386-2.C: Update comments on header files tested. · 3f457a0d
      2007-05-22  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* g++.dg/other/i386-2.C: Update comments on header files tested.
      	Use -msse4.1 instead of -mssse3.  Include <smmintrin.h> instead
      	of <tmmintrin.h>.
      	* gcc.target/i386/sse-12.c: Likewise.
      	* gcc.target/i386/sse-13.c: Likewise.
      	* gcc.target/i386/sse-14.c: Likewise.
      
      	* gcc.target/i386/sse-13.c (__builtin_ia32_pblendw128): New.
      	Redefined to test with immediate operand.
      	(__builtin_ia32_blendps): Likewise.
      	(__builtin_ia32_blendpd): Likewise.
      	(__builtin_ia32_dpps): Likewise.
      	(__builtin_ia32_dpps): Likewise.
      	(__builtin_ia32_insertps128): Likewise.
      	(__builtin_ia32_vec_ext_v4sf): Likewise.
      	(__builtin_ia32_vec_set_v16qi): Likewise.
      	(__builtin_ia32_vec_set_v4si): Likewise.
      	(__builtin_ia32_vec_set_v2di): Likewise.
      	(__builtin_ia32_vec_ext_v16qi): Likewise.
      	(__builtin_ia32_vec_ext_v4si): Likewise.
      	(__builtin_ia32_vec_ext_v2di): Likewise.
      	(__builtin_ia32_roundpd): Likewise.
      	(__builtin_ia32_roundsd): Likewise.
      	(__builtin_ia32_roundps): Likewise.
      	(__builtin_ia32_roundss): Likewise.
      	(__builtin_ia32_mpsadbw128): Likewise.
      
      From-SVN: r124959
      H.J. Lu committed
    • * MAINTAINERS (Write After Approval): Add myself. · ce3fcf8c
      From-SVN: r124958
      Ollie Wild committed
    • sse4_1-check.h: Don't include ../auto-host.h. · f0de03cf
      2007-05-22  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.target/i386/sse4_1-check.h: Don't include ../auto-host.h.
      
      From-SVN: r124957
      H.J. Lu committed
    • mode-switching.c (reg_dies): Change type of second argument to "HARD_REG_SET *". · 408bed3c
      gcc/
      	* mode-switching.c (reg_dies): Change type of second argument to
      	"HARD_REG_SET *".
      	(optimize_mode_switching): Update accordingly.
      
      From-SVN: r124955
      Richard Sandiford committed
    • hard-reg-set.h (GO_IF_HARD_REG_SUBSET, [...]): Delete in favor of... · 56b138ae
      gcc/
      	* hard-reg-set.h (GO_IF_HARD_REG_SUBSET, GO_IF_HARD_REG_EQUAL): Delete
      	in favor of...
      	(hard_reg_subset_p, hard_reg_sets_equal_p, hard_reg_sets_intersect_p)
      	(hard_reg_set_empty_p): ...these new functions.
      	* bt-load.c (choose_btr): Use hard_reg_subset_p instead of
      	GO_IF_HARD_REG_SUBSET.
      	* cfgcleanup.c (old_insns_match_p): Use hard_reg_sets_equal_p
      	instead of GO_IF_HARD_REG_EQUAL.
      	* df-problems.c (df_urec_local_compute): Use hard_reg_set_empty_p
      	instead of GO_IF_HARD_REG_EQUAL.
      	* global.c (find_reg): Use hard_reg_set_empty_p instead of
      	GO_IF_HARD_REG_SUBSET.
      	(modify_reg_pav): Use hard_reg_set_empty_p instead of
      	GO_IF_HARD_REG_EQUAL.
      	* local-alloc.c (find_free_reg): Use hard_reg_subset_p instead
      	of GO_IF_HARD_REG_SUBSET.
      	* reg-stack.c (change_stack, convert_regs_1): Use hard_reg_sets_equal_p
      	instead of GO_IF_HARD_REG_EQUAL.
      	* regclass.c (init_reg_sets_1, reg_scan_mark_refs): Use
      	hard_reg_subset_p instead of GO_IF_HARD_REG_SUBSET.
      	(reg_classes_intersect_p): Use hard_reg_sets_intersect_p instead
      	of GO_IF_HARD_REG_SUBSET,
      	* reload1.c (finish_spills): Use hard_reg_subset_p instead of
      	GO_IF_HARD_REG_SUBSET.
      	* struct-equiv.c (death_notes_match_p): Use hard_reg_sets_equal_p
      	instead of GO_IF_HARD_REG_EQUAL.
      	* config/sh/sh.c (push_regs, calc_live_regs): Use
      	hard_reg_sets_intersect_p instead of hard_regs_intersect_p.
      	(hard_regs_intersect_p): Delete.
      
      From-SVN: r124954
      Richard Sandiford committed
    • func-array.c: Support -DDBG to report individual failures. · 965ff670
      	* gcc.dg/dfp/func-array.c: Support -DDBG to report individual failures.
      	* gcc.dg/dfp/func-struct.c: Ditto.
      	* gcc.dg/dfp/operator-assignment.c: Ditto.
      	* gcc.dg/dfp/convert-bfp.c: Ditto.
      	* gcc.dg/dfp/convert-int.c: Ditto.
      	* gcc.dg/dfp/convert-int-max.c: Ditto.
      	* gcc.dg/dfp/func-scalar.c: Ditto.
      	* gcc.dg/dfp/cast.c: Ditto.
      	* gcc.dg/dfp/func-mixed.c: Support -DDBG to report individual
      	failures, and fix a typo in return type of arg1_128.
      	* gcc.dg/dfp/convert-dfp.c: Support -DDBG to report individual
      	failures, and fix a typo in a constant suffix.
      	* gcc.dg/dfp/func-vararg-dfp.c: Return zero at the end.
      	* gcc.dg/dfp/convert-complex.c: With -DDBG, abort for failures.
      
      From-SVN: r124953
      Janis Johnson committed
    • gcc/ · ba2f32a9
      	* doc/sourcebuild.texi (Test Directives) Add dg-message.
      gcc/testsuite/
      	* lib/gcc-dg.exp(process_message): New proc.
      	(dg-message): New test directive.
      	* gcc.dg/always_inline.c: Use dg-message.
      	* gcc.dg/always_inline2.c: Ditto.
      	* gcc.dg/always_inline3.c: Ditto.
      	* gcc.dg/invalid-call-1.c: Ditto.
      	* gcc.dg/pr17506.c: Ditto.
      	* gcc.dg/simd-5.c: Ditto.
      	* gcc.dg/simd-6.c: Ditto.
      	* gcc.dg/va-arg-2.c: Ditto.
      	* gcc.dg/cpp/syshdr.c: Ditto.
      	* gcc.dg/cpp/unc4.c: Ditto.
      	* gcc.dg/cpp/trad/mi1.c: Ditto.
      	* gcc.dg/cpp/trad/mi5.c: Ditto.
      	* gcc.dg/cpp/trad/mi7.c: Ditto.
      	* gcc.test-framework/dg-outexistsnot-exp-P.c: Ditto.
      	* gcc.test-framework/dg-outexists-exp-F.c: Ditto.
      	* gcc.test-framework/test-framework.awk: Special-case outexists
      	tests.
      
      Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
      
      From-SVN: r124952
      Janis Johnson committed
    • re PR libfortran/31295 (Uninitialized variable in libgfortran's _gfortran_eoshift0_4) · 1f801ab7
      2007-05-22  Tobias Burnus  <burnus@net-b.de>
      
             PR libgfortran/31295
             * intrinsics/eoshift0.c (eoshift0): Silence uninitialized warning.
             * intrinsics/eoshift2.c (eoshift2): Ditto.
      
      From-SVN: r124948
      Tobias Burnus committed
    • i386-cpuid.h (bit_SSE4_1): New. · 05629956
      2007-05-22  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.dg/i386-cpuid.h (bit_SSE4_1): New.
      	(bit_SSE4_2): Likewise.
      	(bit_POPCNT): Likewise.
      
      	* gcc.target/i386/i386.exp (check_effective_target_sse4): New.
      	Check if assembler supports SSE4 instructions.
      
      	* gcc.target/i386/sse4_1-blendpd.c: New file.
      	* gcc.target/i386/sse4_1-blendps.c: Likewise.
      	* gcc.target/i386/sse4_1-blendvpd.c: Likewise.
      	* gcc.target/i386/sse4_1-blendvps.c: Likewise.
      	* gcc.target/i386/sse4_1-check.h: Likewise.
      	* gcc.target/i386/sse4_1-dppd-1.c: Likewise.
      	* gcc.target/i386/sse4_1-dppd-2.c: Likewise.
      	* gcc.target/i386/sse4_1-dpps-1.c: Likewise.
      	* gcc.target/i386/sse4_1-dpps-2.c: Likewise.
      	* gcc.target/i386/sse4_1-extractps.c: Likewise.
      	* gcc.target/i386/sse4_1-insertps-1.c: Likewise.
      	* gcc.target/i386/sse4_1-insertps-2.c: Likewise.
      	* gcc.target/i386/sse4_1-movntdqa.c: Likewise.
      	* gcc.target/i386/sse4_1-mpsadbw.c: Likewise.
      	* gcc.target/i386/sse4_1-packusdw.c: Likewise.
      	* gcc.target/i386/sse4_1-pblendvb.c: Likewise.
      	* gcc.target/i386/sse4_1-pblendw.c: Likewise.
      	* gcc.target/i386/sse4_1-pcmpeqq.c: Likewise.
      	* gcc.target/i386/sse4_1-pextrb.c: Likewise.
      	* gcc.target/i386/sse4_1-pextrd.c: Likewise.
      	* gcc.target/i386/sse4_1-pextrq.c: Likewise.
      	* gcc.target/i386/sse4_1-pextrw.c: Likewise.
      	* gcc.target/i386/sse4_1-phminposuw.c: Likewise.
      	* gcc.target/i386/sse4_1-pinsrb.c: Likewise.
      	* gcc.target/i386/sse4_1-pinsrd.c: Likewise.
      	* gcc.target/i386/sse4_1-pinsrq.c: Likewise.
      	* gcc.target/i386/sse4_1-pmaxsb.c: Likewise.
      	* gcc.target/i386/sse4_1-pmaxsd.c: Likewise.
      	* gcc.target/i386/sse4_1-pmaxud.c: Likewise.
      	* gcc.target/i386/sse4_1-pmaxuw.c: Likewise.
      	* gcc.target/i386/sse4_1-pminsb.c: Likewise.
      	* gcc.target/i386/sse4_1-pminsd.c: Likewise.
      	* gcc.target/i386/sse4_1-pminud.c: Likewise.
      	* gcc.target/i386/sse4_1-pminuw.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovsxbd.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovsxbq.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovsxbw.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovsxdq.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovsxwd.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovsxwq.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovzxbd.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovzxbq.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovzxbw.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovzxdq.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovzxwd.c: Likewise.
      	* gcc.target/i386/sse4_1-pmovzxwq.c: Likewise.
      	* gcc.target/i386/sse4_1-pmuldq.c: Likewise.
      	* gcc.target/i386/sse4_1-pmulld.c: Likewise.
      	* gcc.target/i386/sse4_1-ptest-1.c: Likewise.
      	* gcc.target/i386/sse4_1-ptest-2.c: Likewise.
      	* gcc.target/i386/sse4_1-ptest-3.c: Likewise.
      	* gcc.target/i386/sse4_1-round.h: Likewise.
      	* gcc.target/i386/sse4_1-roundpd-1.c: Likewise.
      	* gcc.target/i386/sse4_1-roundpd-2.c: Likewise.
      	* gcc.target/i386/sse4_1-roundpd-3.c: Likewise.
      	* gcc.target/i386/sse4_1-roundps-1.c: Likewise.
      	* gcc.target/i386/sse4_1-roundps-2.c: Likewise.
      	* gcc.target/i386/sse4_1-roundps-3.c: Likewise.
      	* gcc.target/i386/sse4_1-roundsd-1.c: Likewise.
      	* gcc.target/i386/sse4_1-roundsd-2.c: Likewise.
      	* gcc.target/i386/sse4_1-roundsd-3.c: Likewise.
      	* gcc.target/i386/sse4_1-roundsd-4.c: Likewise.
      	* gcc.target/i386/sse4_1-roundss-1.c: Likewise.
      	* gcc.target/i386/sse4_1-roundss-2.c: Likewise.
      	* gcc.target/i386/sse4_1-roundss-3.c: Likewise.
      	* gcc.target/i386/sse4_1-roundss-4.c: Likewise.
      
      From-SVN: r124947
      H.J. Lu committed
    • config.gcc (i[34567]86-*-*): Add smmintrin.h to extra_headers. · 9a5cee02
      2007-05-22  H.J. Lu  <hongjiu.lu@intel.com>
      	    Richard Henderson  <rth@redhat.com>
      
      	* config.gcc (i[34567]86-*-*): Add smmintrin.h to
      	extra_headers.
      	(x86_64-*-*): Likewise.
      
      	* i386/i386-modes.def (V2QI): New.
      
      	* config/i386/i386.c (ix86_handle_option): Handle SSE4.1 and
      	SSE4A.
      	(override_options): Support SSE4.1.
      	(IX86_BUILTIN_BLENDPD): New for SSE4.1.
      	(IX86_BUILTIN_BLENDPS): Likewise.
      	(IX86_BUILTIN_BLENDVPD): Likewise.
      	(IX86_BUILTIN_BLENDVPS): Likewise.
      	(IX86_BUILTIN_PBLENDVB128): Likewise.
      	(IX86_BUILTIN_PBLENDW128): Likewise.
      	(IX86_BUILTIN_DPPD): Likewise.
      	(IX86_BUILTIN_DPPS): Likewise.
      	(IX86_BUILTIN_INSERTPS128): Likewise.
      	(IX86_BUILTIN_MOVNTDQA): Likewise.
      	(IX86_BUILTIN_MPSADBW128): Likewise.
      	(IX86_BUILTIN_PACKUSDW128): Likewise.
      	(IX86_BUILTIN_PCMPEQQ): Likewise.
      	(IX86_BUILTIN_PHMINPOSUW128): Likewise.
      	(IX86_BUILTIN_PMAXSB128): Likewise.
      	(IX86_BUILTIN_PMAXSD128): Likewise.
      	(IX86_BUILTIN_PMAXUD128): Likewise.
      	(IX86_BUILTIN_PMAXUW128): Likewise.
      	(IX86_BUILTIN_PMINSB128): Likewise.
      	(IX86_BUILTIN_PMINSD128): Likewise.
      	(IX86_BUILTIN_PMINUD128): Likewise.
      	(IX86_BUILTIN_PMINUW128): Likewise.
      	(IX86_BUILTIN_PMOVSXBW128): Likewise.
      	(IX86_BUILTIN_PMOVSXBD128): Likewise.
      	(IX86_BUILTIN_PMOVSXBQ128): Likewise.
      	(IX86_BUILTIN_PMOVSXWD128): Likewise.
      	(IX86_BUILTIN_PMOVSXWQ128): Likewise.
      	(IX86_BUILTIN_PMOVSXDQ128): Likewise.
      	(IX86_BUILTIN_PMOVZXBW128): Likewise.
      	(IX86_BUILTIN_PMOVZXBD128): Likewise.
      	(IX86_BUILTIN_PMOVZXBQ128): Likewise.
      	(IX86_BUILTIN_PMOVZXWD128): Likewise.
      	(IX86_BUILTIN_PMOVZXWQ128): Likewise.
      	(IX86_BUILTIN_PMOVZXDQ128): Likewise.
      	(IX86_BUILTIN_PMULDQ128): Likewise.
      	(IX86_BUILTIN_PMULLD128): Likewise.
      	(IX86_BUILTIN_ROUNDPD): Likewise.
      	(IX86_BUILTIN_ROUNDPS): Likewise.
      	(IX86_BUILTIN_ROUNDSD): Likewise.
      	(IX86_BUILTIN_ROUNDSS): Likewise.
      	(IX86_BUILTIN_PTESTZ): Likewise.
      	(IX86_BUILTIN_PTESTC): Likewise.
      	(IX86_BUILTIN_PTESTNZC): Likewise.
      	(IX86_BUILTIN_VEC_EXT_V16QI): Likewise.
      	(IX86_BUILTIN_VEC_SET_V2DI): Likewise.
      	(IX86_BUILTIN_VEC_SET_V4SF): Likewise.
      	(IX86_BUILTIN_VEC_SET_V4SI): Likewise.
      	(IX86_BUILTIN_VEC_SET_V16QI): Likewise.
      	(bdesc_ptest): New.
      	(bdesc_sse_3arg): Likewise.
      	(bdesc_2arg): Likewise.
      	(bdesc_1arg): Likewise.
      	(ix86_init_mmx_sse_builtins): Support SSE4.1.  Handle SSE builtins
      	with 3 args.
      	(ix86_expand_sse_4_operands_builtin): New.
      	(ix86_expand_unop_builtin): Support 2 arg builtins with a constant
      	smaller than 8 bits as the 2nd arg.
      	(ix86_expand_sse_ptest): New.
      	(ix86_expand_builtin): Support SSE4.1. Support 3 arg SSE builtins.
      	(ix86_expand_vector_set): Support SSE4.1.
      	(ix86_expand_vector_extract): Likewise.
      
      	* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
      	__SSE4_1__ for -msse4.1.
      
      	* config/i386/i386.md (UNSPEC_BLENDV): New for SSE4.1.
      	(UNSPEC_INSERTPS): Likewise.
      	(UNSPEC_DP): Likewise.
      	(UNSPEC_MOVNTDQA): Likewise.
      	(UNSPEC_MPSADBW): Likewise.
      	(UNSPEC_PHMINPOSUW): Likewise.
      	(UNSPEC_PTEST): Likewise.
      	(UNSPEC_ROUNDP): Likewise.
      	(UNSPEC_ROUNDS): Likewise.
      
      	* config/i386/i386.opt (msse4.1): New for SSE4.1.
      
      	* config/i386/predicates.md (const_pow2_1_to_2_operand): New.
      	(const_pow2_1_to_32768_operand): Likewise.
      
      	* config/i386/smmintrin.h: New. The SSE4.1 intrinsic header
      	file.
      
      	* config/i386/sse.md (*vec_setv4sf_sse4_1): New pattern for
      	SSE4.1.
      	(sse4_1_insertps): Likewise.
      	(*sse4_1_extractps): Likewise.
      	(sse4_1_ptest): Likewise.
      	(sse4_1_mulv2siv2di3): Likewise.
      	(*sse4_1_mulv4si3): Likewise.
      	(*sse4_1_smax<mode>3): Likewise.
      	(*sse4_1_umax<mode>3): Likewise.
      	(*sse4_1_smin<mode>3): Likewise.
      	(*sse4_1_umin<mode>3): Likewise.
      	(sse4_1_eqv2di3): Likewise.
      	(*sse4_1_pinsrb): Likewise.
      	(*sse4_1_pinsrd): Likewise.
      	(*sse4_1_pinsrq): Likewise.
      	(*sse4_1_pextrb): Likewise.
      	(*sse4_1_pextrb_memory): Likewise.
      	(*sse4_1_pextrw_memory): Likewise.
      	(*sse4_1_pextrq): Likewise.
      	(sse4_1_blendpd): Likewise.
      	(sse4_1_blendps): Likewise.
      	(sse4_1_blendvpd): Likewise.
      	(sse4_1_blendvps): Likewise.
      	(sse4_1_dppd): Likewise.
      	(sse4_1_dpps): Likewise.
      	(sse4_1_movntdqa): Likewise.
      	(sse4_1_mpsadbw): Likewise.
      	(sse4_1_packusdw): Likewise.
      	(sse4_1_pblendvb): Likewise.
      	(sse4_1_pblendw): Likewise.
      	(sse4_1_phminposuw): Likewise.
      	(sse4_1_extendv8qiv8hi2): Likewise.
      	(*sse4_1_extendv8qiv8hi2): Likewise.
      	(sse4_1_extendv4qiv4si2): Likewise.
      	(*sse4_1_extendv4qiv4si2): Likewise.
      	(sse4_1_extendv2qiv2di2): Likewise.
      	(*sse4_1_extendv2qiv2di2): Likewise.
      	(sse4_1_extendv4hiv4si2): Likewise.
      	(*sse4_1_extendv4hiv4si2): Likewise.
      	(sse4_1_extendv2hiv2di2): Likewise.
      	(*sse4_1_extendv2hiv2di2): Likewise.
      	(sse4_1_extendv2siv2di2): Likewise.
      	(*sse4_1_extendv2siv2di2): Likewise.
      	(sse4_1_zero_extendv8qiv8hi2): Likewise.
      	(*sse4_1_zero_extendv8qiv8hi2): Likewise.
      	(sse4_1_zero_extendv4qiv4si2): Likewise.
      	(*sse4_1_zero_extendv4qiv4si2): Likewise.
      	(sse4_1_zero_extendv2qiv2di2): Likewise.
      	(*sse4_1_zero_extendv2qiv2di2): Likewise.
      	(sse4_1_zero_extendv4hiv4si2): Likewise.
      	(*sse4_1_zero_extendv4hiv4si2): Likewise.
      	(sse4_1_zero_extendv2hiv2di2): Likewise.
      	(*sse4_1_zero_extendv2hiv2di2): Likewise.
      	(sse4_1_zero_extendv2siv2di2): Likewise.
      	(*sse4_1_zero_extendv2siv2di2): Likewise.
      	(sse4_1_roundpd): Likewise.
      	(sse4_1_roundps): Likewise.
      	(sse4_1_roundsd): Likewise.
      	(sse4_1_roundss): Likewise.
      	(mulv4si3): Don't expand for SSE4.1.
      	(smax<mode>3): Likewise.
      	(umaxv4si3): Likewise.
      	(uminv16qi3): Likewise.
      	(umin<mode>3): Likewise.
      	(umaxv8hi3): Rewrite.  Only enabled for SSE4.1.
      
      	* doc/extend.texi: Document SSE4.1 built-in functions.
      
      	* doc/invoke.texi: Document -msse4.1.
      
      Co-Authored-By: Richard Henderson <rth@redhat.com>
      
      From-SVN: r124945
      H.J. Lu committed
    • re PR fortran/31627 ([4.1/4.2 only] -bounds-check doesn't check lower bound of assumed-sized array) · c099916d
      	PR fortran/31627
      
      	* trans-array.c (gfc_trans_array_bound_check): Take extra argument to
      	indicate whether we should check the upper bound in that dimension.
      	(gfc_conv_array_index_offset): Check only the lower bound of the
      	last dimension for assumed-size arrays.
      	(gfc_conv_array_ref): Likewise.
      	(gfc_conv_ss_startstride): Likewise.
      
      	* gfortran.dg/bounds_check_7.f90: New test.
      
      From-SVN: r124940
      Francois-Xavier Coudert committed
    • i386.exp (check_effective_target_ssse3): New. · 0f869709
      	* gcc.target/i386/i386.exp (check_effective_target_ssse3): New.
      	(check_effective_target_sse4a): Ditto.
      
      	* gcc.target/i386/ssse3-phsubw.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-phaddd.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-pabsb.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-psignb.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-phaddsw.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-pabsd.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-psignd.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-pmaddubsw.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-pmulhrsw.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-phaddw.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-phsubd.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-pabsw.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-psignw.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-pshufb.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-phsubsw.c: Require effective target ssse3.
      	* gcc.target/i386/ssse3-palignr.c: Require effective target ssse3.
      	* gcc.target/i386/sse4a-insert.c: Require effective target sse4a.
      	* gcc.target/i386/sse4a-extract.c: Require effective target sse4a.
      	* gcc.target/i386/sse4a-montss.c: Require effective target sse4a.
      	* gcc.target/i386/sse4a-montsd.c: Require effective target sse4a.
      
      From-SVN: r124939
      Uros Bizjak committed
    • linux.h (ASM_SPEC): Add asm_pcrel_spec. · bebb3a98
      	* config/m68k/linux.h (ASM_SPEC): Add asm_pcrel_spec.
      	* config/m68k/m68k-none.h (ASM_SPEC): Don't override here.
      	* config/m68k/m68k.h (ASM_PCREL_SPEC): New.
      	(ASM_SPEC): Add asm_pcrel_spec.
      	(EXTRA_SPECS): Add asm_pcrel_spec.
      
      From-SVN: r124937
      Nathan Sidwell committed
    • install.texi (Building a cross compiler): Add requirements for Java cross compiler. · c076e75f
      	* doc/install.texi (Building a cross compiler): Add requirements
      	for Java cross compiler.
      
      From-SVN: r124936
      David Daney committed
    • Daily bump. · e175d3bf
      From-SVN: r124933
      GCC Administrator committed