aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2007-05-24c-common.c (c_common_signed_or_unsigned_type): Delay the check for ↵Rafael Avila de Espindola3-6/+16
INTEGRAL_TYPE_P and TYPE_UNSIGNED. * c-common.c (c_common_signed_or_unsigned_type): Delay the check for INTEGRAL_TYPE_P and TYPE_UNSIGNED. * langhooks.c (get_signed_or_unsigned_type): Don't check for INTEGRAL_TYPE_P or TYPE_UNSIGNED. (lhd_signed_or_unsigned_type): Check for INTEGRAL_TYPE_P and TYPE_UNSIGNED. From-SVN: r125012
2007-05-24Daily bump.GCC Administrator1-1/+1
From-SVN: r125010
2007-05-23* g++.dg/other/vrp1.C: New test.Ian Lance Taylor2-0/+16
From-SVN: r125007
2007-05-23re PR preprocessor/20077 (GCC accepts macro definitions that fail a constraint)Simon Martin2-0/+20
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
2007-05-23Fix up MIPS16 hard float and add support for complex.Sandra Loosemore12-555/+1140
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
2007-05-23* gcc.dg/bf-spl1.c, gcc.dg/m68k-pic-1.c: Enable on fido-*-*.Kazu Hirata3-2/+6
From-SVN: r124996
2007-05-23invoke.texi (Invoking GCC): Document that the order of the -l option matters.Ian Lance Taylor2-3/+9
* doc/invoke.texi (Invoking GCC): Document that the order of the -l option matters. From-SVN: r124995
2007-05-23sse3-addsubpd.c: Don't include stdlib.h nor i386-cpuid.h.H.J. Lu29-459/+143
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
2007-05-23re PR fortran/32046 (wrong code with -O2 for gfortran.dg/interface_12.f90 & ↵Francois-Xavier Coudert4-9/+32
result_in_spec_1.f90) 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
2007-05-23re PR target/30987 (Problem while compiling gcc for score)Chen Liqin5-48/+13
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
2007-05-23tree-vrp.c (avoid_overflow_infinity): New static function, broken out of ↵Ian Lance Taylor2-13/+31
set_value_range_to_value. * 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
2007-05-23re PR fortran/18923 (segfault after subroutine name confusion)Jerry DeLisle2-4/+9
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
2007-05-22re PR middle-end/31095 (ICE in expand_expr_real_1, at expr.c:8786)Andrew Pinski4-0/+26
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
2007-05-23Daily bump.GCC Administrator1-1/+1
From-SVN: r124973
2007-05-22lower-subreg.c (decompose_multiword_subregs): If we change an insn, call ↵Ian Lance Taylor2-0/+9
remove_retval_note on it. * lower-subreg.c (decompose_multiword_subregs): If we change an insn, call remove_retval_note on it. From-SVN: r124969
2007-05-22re PR tree-optimization/31606 (ICE in try_instantiate_multiple_fields, at ↵Andrew Pinski2-0/+16
tree-sra.c:1601) 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
2007-05-22sse4_1-check.h: Don't include <stdio.h>.H.J. Lu2-1/+4
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
2007-05-2220000320-1.x, [...]: XFAIL on m68k-*-* and check_effective_target_coldfire_fpu.Kazu Hirata3-8/+14
* 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
2007-05-22name-lookup.c (ambiguous_decl): Adds check for hidden types.Ollie Wild5-2/+48
* 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
2007-05-22regs.h (end_hard_regno): New function.Richard Sandiford24-346/+288
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
2007-05-22decl.c (duplicate_decls): Verify namespace names are unique.Ollie Wild5-22/+63
* 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
2007-05-22i386-2.C: Update comments on header files tested.H.J. Lu5-17/+65
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
2007-05-22sse4_1-check.h: Don't include ../auto-host.h.H.J. Lu2-2/+4
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
2007-05-22mode-switching.c (reg_dies): Change type of second argument to "HARD_REG_SET *".Richard Sandiford2-5/+11
gcc/ * mode-switching.c (reg_dies): Change type of second argument to "HARD_REG_SET *". (optimize_mode_switching): Update accordingly. From-SVN: r124955
2007-05-22hard-reg-set.h (GO_IF_HARD_REG_SUBSET, [...]): Delete in favor of...Richard Sandiford12-218/+275
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
2007-05-22func-array.c: Support -DDBG to report individual failures.Janis Johnson13-169/+315
* 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
2007-05-22gcc/Janis Johnson20-19/+91
* 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
2007-05-22i386-cpuid.h (bit_SSE4_1): New.H.J. Lu69-0/+3383
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
2007-05-22config.gcc (i[34567]86-*-*): Add smmintrin.h to extra_headers.H.J. Lu12-101/+2295
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
2007-05-22re PR fortran/31627 ([4.1/4.2 only] -bounds-check doesn't check lower bound ↵Francois-Xavier Coudert4-57/+109
of assumed-sized array) 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
2007-05-22i386.exp (check_effective_target_ssse3): New.Uros Bizjak22-0/+72
* 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
2007-05-22* misc.c (enumerate_modes): Consider log2_b to always be one.Alexandre Oliva2-1/+5
From-SVN: r124938
2007-05-22linux.h (ASM_SPEC): Add asm_pcrel_spec.Nathan Sidwell4-6/+15
* 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
2007-05-22install.texi (Building a cross compiler): Add requirements for Java cross ↵David Daney2-0/+12
compiler. * doc/install.texi (Building a cross compiler): Add requirements for Java cross compiler. From-SVN: r124936
2007-05-22Daily bump.GCC Administrator1-1/+1
From-SVN: r124933
2007-05-21decl.c (cxx_maybe_build_cleanup): Handle __attribute__((cleanup)).Mark Mitchell14-11/+747
* decl.c (cxx_maybe_build_cleanup): Handle __attribute__((cleanup)). * g++.dg/ext/cleanup-1.C: New test. * g++.dg/ext/cleanup-2.C: Likewise. * g++.dg/ext/cleanup-3.C: Likewise. * g++.dg/ext/cleanup-4.C: Likewise. * g++.dg/ext/cleanup-5.C: Likewise. * g++.dg/ext/cleanup-6.C: Likewise. * g++.dg/ext/cleanup-8.C: Likewise. * g++.dg/ext/cleanup-9.C: Likewise. * g++.dg/ext/cleanup-10.C: Likewise. * g++.dg/ext/cleanup-11.C: Likewise. * g++.dg/ext/cleanup-dtor.C: Likewise. From-SVN: r124930
2007-05-21re PR tree-optimization/31995 (can't determine dependence between p->a[x+i] ↵Andrew Pinski7-16/+97
and p->a[x+i+1]) 2007-05-21 Andrew Pinski <andrew_pinski@playstation.sony.com> PR middle-end/31995 * tree-chrec.c (evolution_function_is_affine_multivariate_p): Add loopno argument. Use evolution_function_is_invariant_rec_p instead of evolution_function_is_constant_p. Update calls to evolution_function_is_affine_multivariate_p. * tree-chrec.h (evolution_function_is_affine_multivariate_p): Add loopno argument. * tree-scalar-evolution.c (gather_chrec_stats): Call evolution_function_is_affine_multivariate_p with a loop number of 0. * tree-data-ref.c (analyze_miv_subscript): Likewise. (analyze_overlapping_iterations): Likewise. (access_functions_are_affine_or_constant_p): Likewise. (build_classic_dist_vector_1): If the access functions are equal, don't do anything. 2007-05-21 Andrew Pinski <andrew_pinski@playstation.sony.com> PR middle-end/31995 * gcc.dg/vect/vect-102a.c: New test. From-SVN: r124927
2007-05-21c-cppbuiltin.c (c_cpp_builtins): Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1...Paolo Bonzini9-0/+201
2007-05-21 Paolo Bonzini <bonzini@gnu.org> Paolo Carlini <pcarlini@suse.de> Uros Bizjak <ubizjak@gmail.com> * c-cppbuiltin.c (c_cpp_builtins): Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16, if appropriate. * doc/cpp.texi ([Standard Predefined Macros]): Document. 2007-05-21 Paolo Bonzini <bonzini@gnu.org> Paolo Carlini <pcarlini@suse.de> Uros Bizjak <ubizjak@gmail.com> * gcc.dg/gcc-have-sync-compare-and-swap.c, gcc.target/i386/gcc-have-sync-compare-and-swap-1.c, gcc.target/i386/gcc-have-sync-compare-and-swap-2.c, gcc.target/i386/gcc-have-sync-compare-and-swap-3.c, gcc.target/i386/gcc-have-sync-compare-and-swap-4.c, New testcases. Co-Authored-By: Paolo Carlini <pcarlini@suse.de> Co-Authored-By: Uros Bizjak <ubizjak@gmail.com> From-SVN: r124926
2007-05-21re PR fortran/32002 (insufficient conformance check when assigning the ↵Daniel Franke4-0/+63
result of an elemental function to an array) gcc/fortran: 2005-05-21 Jerry DeLisle <jvdelisle@verizon.net> Daniel Franke <franke.daniel@gmail.com> PR fortran/32002 * resolve.c (resolve_actual_arglist): Resolve actual argument after being identified as variable. gcc/testsuite: 2005-05-21 Daniel Franke <franke.daniel@gmail.com> PR fortran/32002 * gfortran.dg/compliant_elemental_intrinsics_2.f90: New test. From-SVN: r124924
2007-05-21re PR fortran/32027 (The "DO" variable isn't consistent after loop)Francois-Xavier Coudert4-68/+83
PR fortran/32027 * trans-stmt.c (gfc_trans_do): Fix the value of loop variable when the loop ends. * gfortran.dg/do_3.F90: Add checks for the final value of the loop variable. From-SVN: r124923
2007-05-21trans-stmt.c (gfc_trans_do): Fix a typo in comment.H.J. Lu2-1/+5
2007-05-21 H.J. Lu <hongjiu.lu@intel.com> * trans-stmt.c (gfc_trans_do): Fix a typo in comment. From-SVN: r124911
2007-05-21darwin.h (LINK_COMMAND_SPEC): Add .cxx for dsymutil handling as well.Mike Stump3-2/+8
* config/darwin.h (LINK_COMMAND_SPEC): Add .cxx for dsymutil handling as well. * config/darwin9.h (LINK_COMMAND_SPEC): Likewise. Radar 5214697 From-SVN: r124909
2007-05-21990127-2.x: New file.Uros Bizjak3-2/+21
* gcc.c-torture/execute/990127-2.x: New file. From-SVN: r124908
2007-05-21tmmintrin.h (_mm_alignr_epi8): Provide macro implementation if __OPTIMIZE__ ↵Uros Bizjak10-50/+146
is not defined. * config/i386/tmmintrin.h (_mm_alignr_epi8): Provide macro implementation if __OPTIMIZE__ is not defined. (_mm_alignr_pi8): Ditto. * config/i386/ammintrin.h (_mm_extracti_si64): Ditto. (_mm_inserti_si64): Ditto. * config/i386/emmintrin.h (_mm_shuffle_pd): Ditto. (_mm_slli_epi16): Ditto. (_mm_slli_epi32): Ditto. (_mm_slli_epi64): Ditto. (_mm_srai_epi16): Ditto. (_mm_srai_epi32): Ditto. (_mm_srli_si128): Ditto. (_mm_slli_si128): Ditto. (_mm_srli_epi16): Ditto. (_mm_srli_epi32): Ditto. (_mm_srli_epi64): Ditto. (_mm_extract_epi16): Ditto. (_mm_insert_epi16): Ditto. (_mm_shufflehi_epi16): Ditto. (_mm_shufflelo_epi16): Ditto. (_mm_shuffle_epi32): Ditto. * config/i386/xmmintrin.h (_mm_extract_pi16): Ditto. (_m_pextrw): Ditto. (_mm_insert_pi16): Ditto. (_m_pinsrw): Ditto. (_mm_shuffle_pi16): Ditto. (_m_pshufw): Ditto. (_mm_shufle_ps): Ditto. (_mm_prefetch): Ditto. testsuite/ChangeLog: * gcc.target/i386/sse-14.c: Remove all intrinsic redefines. * gcc.target/i386/sse-12: Add -O to compile options. * g++.dg/other/i386-2.C: Use "-march=k8 -m3dnow -mssse3 -msse4a" instead of "-msse3". Include only ammintrin.h, tmmintrin.h and mm3dnow.h. Add -O to compile options. From-SVN: r124904
2007-05-21re PR fortran/31867 ([4.2 only] function result with character LEN computed ↵Paul Thomas5-3/+130
at run time) 2007-05-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/31867 PR fortran/31994 * trans-array.c (gfc_conv_expr_descriptor): Obtain the stored offset for non-descriptor, source arrays and correct for stride not equal to one before writing to field of output descriptor. 2007-05-21 Paul Thomas <pault@gcc.gnu.org> PR fortran/31867 * gfortran.dg/char_length_5.f90: New test. PR fortran/31994 * gfortran.dg/array_reference_1.f90: New test. From-SVN: r124903
2007-05-21defaults.h (IBM_FLOAT_FORMAT): Macro definition removed.Andreas Krebbel6-279/+38
2007-05-21 Andreas Krebbel <krebbel1@de.ibm.com> * defaults.h (IBM_FLOAT_FORMAT): Macro definition removed. * doc/tm.texi (IBM_FLOAT_FORMAT): Documentation entry removed. * real.c (encode_i370_single, decode_i370_single, encode_i370_double, decode_i370_double): Functions removed. (i370_single_format, i370_double_format): Initializations removed. (real_maxval, round_for_format, exact_real_truncate, significand_size): Consider the log2_b field to always be one. (ieee_single_format, mips_single_format, coldfire_single_format, ieee_double_format, mips_double_format, coldfire_double_format, ieee_extended_motorola_format, ieee_extended_intel_96_format, ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format, ibm_extended_format, mips_extended_format, ieee_quad_format, mips_quad_format, vax_f_format, vax_d_format, vax_g_format, decimal_single_format, decimal_double_format, decimal_quad_format, c4x_single_format, c4x_extended_format, real_internal_format): Remove initialization of log2_b. * real.h (i370_single_format, i370_double_format): Declarations removed. * c-cppbuiltin.c (builtin_define_float_constants): Consider the log2_b field to always be one. From-SVN: r124901
2007-05-21ia64.c (emit_predicate_relation_info): Fix use of NOTE_INSN_BASIC_BLOCK_P.Andreas Schwab2-2/+8
* config/ia64/ia64.c (emit_predicate_relation_info): Fix use of NOTE_INSN_BASIC_BLOCK_P. (process_for_unwind_directive): Likewise. From-SVN: r124899
2007-05-21builtins.c (expand_builtin_setjmp_setup): Update comment.Nathan Sidwell5-18/+93
* builtins.c (expand_builtin_setjmp_setup): Update comment. * function.h (struct function): Move va_list_gpr_size, va_list_fpr_size, function_frequency to front of bitfields. Add calls_unwind_init. (current_function_calls_unwind_init): New. * except.c (expand_builtin_unwind_init): Set current_function_calls_unwind_init not current_function_has_nonlocal_label. * reload1.c (has_nonexceptional_receiver): New. (reload): Use it and current_function_calls_unwind_init to determine whether call-saved regs must be saved. From-SVN: r124898
2007-05-21gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of NOTE_LINE_NUMBER...Jan Hubicka43-651/+226
* gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible. * ddg.c (create_ddg): LIkewise. * final.c (final): Remove hunk moving line numbernotes around since they are no longer present at this stage. (final_scan_insn): Use NOTE_KIND instead of NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible. (output_asm_label): Likewise. * reorg.c (dbr_schedule): Likewise. * haifa-sched.c (unlink_other_notes): Likewise. * mode-switching.c (optimize_mode_switching): Likewise. * graph.c (start_bb): Likewise. * rtl.def (NOTE): Update description. * jump.c (squeeze_notes): Delete. (mark_jump_label): Use NOTE_KIND instead of NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible. * ifcvt.c (dead_or_predicable): Remove call of squeeze_notes. * dwarf2out.c (gen_label_die): Use NOTE_KIND instead of NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible. (dwarf2out_var_location): Likewise. * cfgbuild.c (make_edges): Likewise. (find_basic_blocks_1): Likewise. * function.c (reorder_blocks_1): Likewise. (epilogue_done): Likewise. (reposition_prologue_and_epilogue_notes): Likewise. * print-rtl.c (print_rtx): Likewise; drop code for printing line number notes. (print_rtl): Likewise. (print_rtl_single): Likewise. * gcse.c (insert_insn_start_bb): Likewise. * alias.c (init_alias_analysis): Likewise. * calls.c (fixup_tail_calls): Likewise. * except.c (sjlj_emit_function_enter): Likewise. * emit-rtl.c (add_insn_after): Likeiwse. (emit_label_before): Likewise. (emit_label_after): Likewise. (emit_note_before, emit_note_after, emit_note): Update parameter to be enum insn_note; do not deal with source files. * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Use NOTE_KIND instead of NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible. (merge_blocks_move_successor_nojumps): Simplify now when we don't have BLOCK notes. (try_optimize_cfg): Likewise. * cfglayout.c (skip_insns_after_block): Likewise. (record_effective_endpoints): Likewise. (duplicate_insn_chain): Likewise. * varasm.c (output_constant_pool_1): Likewise. * sched-deps.c (sched_analyze): Likewise. * rtl.c (NOTE_INSN_MAX_isnt_negative_adjust_NOTE_INSN_BIAS): Exterminate. (note_insn_name): Simplify now when NOTE_INSN_BIAS is gone. * rtl.h (NOTE_SOURCE_LOCATION, NOTE_EXPANDED_LOCATION): Exterminate. (SET_INSN_DELETED): Simplify. (NOTE_LINE_NUMBER): Exterminate. (NOTE_LINE_KIND): New. (NOTE_INSN_BASIC_BLOCK_P): Update. (enum insn_note): Simplify. (GET_NOTE_INSN_NAME) Simplify. (emit_note_before, emit_note_after, emit_note): Update prototype. (squeeze_notes): Remove. * sched-int.h (NOTE_NOT_BB_P): Update. * resource.c (mark_target_live_regs): Update. * sched-rgn.c (debug_dependencies): Update. * sched-vis.c (print_insn): Update. * config/alpha/alpha.c (alpha_handle_trap_shadows): Update. * config/i386/i386.c (ix86_output_function_epilogue): Update. * config/sh/sh.c (sh_adjust_unroll_max): Function dead since gcc 4.0.0. (TARGET_ADJUST_UNROLL_MAX): Likewise. (split_branches): Update. (sh_optimize_target_register_callee_saved): Remove hunk dead since gcc 4.0.0. (sh_adjust_unroll_max): Exterminate. * config/c4x/c4x.c (c4x_reorg): Use SET_INSN_DELETED. * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Likewise. (m68hc11_reorg): Likewise. * config/ia64/ia64.c (emit_insn_group_barriers): Update. (emit_predicate_relation_info): Update. (process_for_unwind_directive): Update. * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update. (output_call): Update. * config/pa/pa.c (output_lbranch): Update. (output_millicode_call): Update. (output_call): Update. (pa_combine_instructions): Update. * config/mips/mips.c (mips16_gp_pseudo_reg): Update. * config/bfin/bfin.c (gen_one_bundle): Update. * cfgrtl.c (can_delete_note_p): Update. (delete_insn): Update. (rtl_merge_blocks): Update. (commit_one_edge_insertion): Update. (rtl_verify_flow_info): Update. * stmt.c (expand_case): Do not call squeeze_notes. From-SVN: r124895
2007-05-21Daily bump.GCC Administrator1-1/+1
From-SVN: r124890