H.J. Lu
9a5cee0228
config.gcc (i[34567]86-*-*): Add smmintrin.h to extra_headers.
...
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-22 07:37:19 -07:00
Francois-Xavier Coudert
c099916d62
re PR fortran/31627 ([4.1/4.2 only] -bounds-check doesn't check lower bound 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-22 09:27:15 +00:00
Uros Bizjak
0f86970940
i386.exp (check_effective_target_ssse3): New.
...
* 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 10:15:13 +02:00
Alexandre Oliva
dbc30a9698
* misc.c (enumerate_modes): Consider log2_b to always be one.
...
From-SVN: r124938
2007-05-22 07:00:22 +00:00
Nathan Sidwell
bebb3a98ce
linux.h (ASM_SPEC): Add asm_pcrel_spec.
...
* 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-22 06:55:27 +00:00
David Daney
c076e75f30
install.texi (Building a cross compiler): Add requirements for Java cross compiler.
...
* doc/install.texi (Building a cross compiler): Add requirements
for Java cross compiler.
From-SVN: r124936
2007-05-22 04:06:06 +00:00
GCC Administrator
e175d3bffe
Daily bump.
...
From-SVN: r124933
2007-05-22 00:18:27 +00:00
Mark Mitchell
5c1131547b
decl.c (cxx_maybe_build_cleanup): Handle __attribute__((cleanup)).
...
* 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-21 23:47:29 +00:00
Ian Lance Taylor
0b4cafec04
internal.h (struct cpp_reader): Add new fields: nonexistent_file_hash and nonexistent_file_ob.
...
* internal.h (struct cpp_reader): Add new fields:
nonexistent_file_hash and nonexistent_file_ob.
* files.c: Include "obstack.h".
(find_file_in_dir): Before trying to open the file, look up the
path name in the hash table of nonexistent files. After failing
to open the file, add the path name to the hash table.
(_cpp_find_file): Cache the results of looking up the file name
starting with the quote and bracket chain heads, if we can.
(nonexistent_file_hash_eq): New static function.
(_cpp_init_files): Initialize pfile->nonexistent_file_hash and
pfile->nonexistent_file_ob.
(_cpp_cleanup_files): Free pfile->nonexistent_file_hash and
pfile->nonexistent_file_ob.
From-SVN: r124929
2007-05-21 23:43:53 +00:00
Andrew Pinski
a50411de14
re PR tree-optimization/31995 (can't determine dependence between p->a[x+i] 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-21 16:08:54 -07:00
Paolo Bonzini
60c4429c7e
c-cppbuiltin.c (c_cpp_builtins): Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1...
...
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-21 22:48:38 +00:00
Daniel Franke
1b35264fab
re PR fortran/32002 (insufficient conformance check when assigning the 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-21 18:24:55 -04:00
Francois-Xavier Coudert
244974bd1b
re PR fortran/32027 (The "DO" variable isn't consistent after loop)
...
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-21 22:02:26 +00:00
H.J. Lu
76dac33966
trans-stmt.c (gfc_trans_do): Fix a typo in comment.
...
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-21 14:13:03 -07:00
Mike Stump
ccd3cc0992
darwin.h (LINK_COMMAND_SPEC): Add .cxx for dsymutil handling as well.
...
* 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-21 20:54:46 +00:00
Uros Bizjak
f6d95b1e6d
990127-2.x: New file.
...
* gcc.c-torture/execute/990127-2.x: New file.
From-SVN: r124908
2007-05-21 22:41:34 +02:00
Paolo Carlini
32c8d4b145
c_locale.h: Do not include <cstdarg>, use builtins.
...
2007-05-21 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/c_locale.h: Do not include <cstdarg>, use builtins.
* config/locale/generic/c_locale.h: Likewise.
From-SVN: r124907
2007-05-21 19:22:35 +00:00
James Lemke
9777397727
Update my e-mail address for new employer.
...
From-SVN: r124906
2007-05-21 19:02:09 +00:00
Uros Bizjak
32fe15ec71
tmmintrin.h (_mm_alignr_epi8): Provide macro implementation if __OPTIMIZE__ 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-21 17:40:01 +02:00
Paul Thomas
c4ba884897
re PR fortran/31867 ([4.2 only] function result with character LEN computed 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-21 13:16:06 +00:00
Andreas Krebbel
4d8a8a0a22
defaults.h (IBM_FLOAT_FORMAT): Macro definition removed.
...
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-21 12:53:08 +00:00
Andreas Schwab
740aeb384d
ia64.c (emit_predicate_relation_info): Fix use of NOTE_INSN_BASIC_BLOCK_P.
...
* 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-21 11:29:35 +00:00
Nathan Sidwell
ecaebb9e0b
builtins.c (expand_builtin_setjmp_setup): Update comment.
...
* 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-21 10:58:29 +00:00
Paolo Carlini
2a0ab51c79
re PR libstdc++/31621 (libstdc++ uses -xc++ which can cause exceptions to show up which causes __gxx_personality_v0 to be referenced)
...
2007-05-21 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/31621
* acinclude.m4 ([GLIBCXX_CHECK_LINKER_FEATURES]): Use the C compiler.
* configure: Regenerate.
From-SVN: r124896
2007-05-21 10:25:52 +00:00
Jan Hubicka
a38e7aa544
gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of NOTE_LINE_NUMBER...
...
* 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-21 06:19:50 +00:00
GCC Administrator
631abdb20f
Daily bump.
...
From-SVN: r124890
2007-05-21 00:18:43 +00:00
Manuel López-Ibáñez
aac8bf8060
Changelog: Fix wrong year.
...
* gcc/Changelog: Fix wrong year.
* gcc/testsuite/Changelog: Likewise.
From-SVN: r124877
2007-05-20 20:56:52 +00:00
Manuel López-Ibáñez
f6aa72dd49
re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags)
...
2007-05-20 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR middle-end/7651
PR c++/11856
PR c/12963
PR c/23587
PR other/29694
* c.opt (Wtype-limits): New.
* doc/invoke.texi (Wtype-limits): Document it.
(Wextra): Enabled by -Wextra.
* c-opts.c (c_common_post_options): Enabled by -Wextra.
* c-common.c (shorten_compare): Warn with Wtype-limits.
testsuite/
* gcc.dg/compare6.c: Replace Wall with Wtype-limits.
* gcc.dg/Wtype-limits.c: New.
* gcc.dg/Wtype-limits-Wextra.c: New.
* gcc.dg/Wtype-limits-no.c: New.
* g++.dg/warn/Wtype-limits.C: New.
* g++.dg/warn/Wtype-limits-Wextra.C: New.
* g++.dg/warn/Wtype-limits-no.C: New.
From-SVN: r124875
2007-05-20 20:29:55 +00:00
Paolo Carlini
da5a2efd39
stl_algo.h: Shuffle the functions to better match the order in the standard.
...
2007-05-20 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algo.h: Shuffle the functions to better match the
order in the standard.
From-SVN: r124874
2007-05-20 17:48:36 +00:00
Uros Bizjak
46fb8f6ba3
tmmintrin.h (_mm_alignr_epi32): Implement as always inlined function, not as a macro.
...
* config/i386/tmmintrin.h (_mm_alignr_epi32): Implement as always
inlined function, not as a macro.
(_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_extract_epi16): Ditto.
(_mm_insert_epi16): Ditto.
(_mm_shufflehi_epi16): Ditto.
(_mm_shufflelo_epi16): Ditto.
(_mm_shuffle_epi32): Ditto.
* config/i386/xmmintrin.h (_mm_set_ss): Use 0.0f for float constant.
* config/386/mm3dnow.h: Add __attribute__((__always_inline__)) to
all functions.
(_m_from_float): Add __extension__ to conversion. Use 0.0f for
float constant.
(_m_to_float): Use C89 compatible assignment.
testsuite/ChangeLog:
* gcc.target/i386/sse-vect-types.c: Revert 'Use "-msse"
instead of "-msse2".'
* gcc.target/i386/sse-12.c: Use "-march=k8 -m3dnow -mssse3 -msse4a"
instead of "-msse3". Include only ammintrin.h, tmmintrin.h
and mm3dnow.h.
* gcc.target/i386/sse-13.c (__builtin_ia32_extrqi): Redefine
to test with immediate operand.
(__builtin_ia32_insertqi): Ditto.
(__builtin_ia32_palignr128): Ditto.
(__builtin_ia32_palignr): Ditto.
(__builtin_ia32_pshufhw): Ditto.
(__builtin_ia32_pshuflw): Ditto.
(__builtin_ia32_pshufd): Ditto.
(__builtin_ia32_vec_set_v8hi): Ditto.
(__builtin_ia32_vec_ext_v8hi): Ditto.
(__builtin_ia32_shufpd): Ditto.
* gcc.target/i386/sse-14.c: Same changes as sse-13.c.
From-SVN: r124873
2007-05-20 15:41:13 +02:00
Martin Michlmayr
dde27bba7d
re PR target/32007 (bootstrap broken on ARM v3)
...
2007-04-20 Martin Michlmayr <tbm@cyrius.com>
PR target/32007
* config/arm/lib1funcs.asm: Define __ARM_ARCH__ on v2/v3 machines.
From-SVN: r124871
2007-05-20 11:18:27 +00:00
Andreas Tobler
536307155b
configure.ac: Introduce extra_ldflags_libgc.
...
2007-05-20 Andreas Tobler <a.tobler@schweiz.org>
* configure.ac: Introduce extra_ldflags_libgc. Use it for Darwin.
* configure: Regenerate.
* Makefile.am (libgc_la_LDFLAGS): Use extra_ldflags_libgc.
* Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* include/private/gcconfig.h: Enable MPROTECT_VDB for all Darwin
targets. Remove comments. Prepare ppc64 support for Darwin.
From-SVN: r124870
2007-05-20 12:34:05 +02:00
Daniel Franke
6495bc0b8d
re PR fortran/32001 (MAX intrinsic with large number of arguments)
...
gcc/fortran:
2007-05-20 Daniel Franke <franke.daniel@gmail.com>
PR fortran/32001
* check.c (check_rest): Improved argument conformance check and
fixed error message generation.
gcc/testsuite:
2007-05-20 Daniel Franke <franke.daniel@gmail.org>
PR fortran/32001
* gfortran.dg/min_max_conformance.f90: Added more testcases.
From-SVN: r124869
2007-05-20 06:22:15 -04:00
Uros Bizjak
643827b29b
re PR target/31585 (gcc.target/i386/sse-vect-types.c FAILs (also sse-13.c and sse-14.c))
...
PR target/31585
* gcc.target/i386/sse-vect-types.c: Do not redefine "static"
and "__inline". Use "-msse" instead of "-msse2".
From-SVN: r124868
2007-05-20 11:54:23 +02:00
Manuel López-Ibáñez
ffd5f27613
re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags)
...
2006-05-20 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR middle-end/7651
* doc/invoke.texi (Wreturn-type): Complete description.
(Wextra): Delete item about return-type warning.
* c-decl.c: Delete redundant Wextra warning.
testsuite/
* gcc.dg/20030906-1.c: Replace Wextra with Wreturn-type.
* gcc.dg/20030906-2.c: Likewise.
* objc.dg/method-17.m: Add -Wreturn-type.
* obj-c++.dg/method-21.mm: Likewise.
From-SVN: r124866
2007-05-20 00:45:58 +00:00
GCC Administrator
05ce201275
Daily bump.
...
From-SVN: r124864
2007-05-20 00:18:55 +00:00
Uros Bizjak
376a4c0534
re PR target/31585 (gcc.target/i386/sse-vect-types.c FAILs (also sse-13.c and sse-14.c))
...
PR target/31585
* config/i386/pmmintrin.h: Do not include xmmintrin.h
* config/i386/xmmintrin.h (_mm_extract_pi16): Implement as always
inlined function, not as a macro.
(_mm_prefetch): Ditto.
(_m_pextrw): Ditto.
(_mm_insert_pi16): Ditto.
(_m_pinsrw): Ditto.
(_mm_shuffle_pi16): Ditto. Add const to __N argument.
(_m_pshufw): Ditto. Add const to __N argument.
(_mm_shufle_ps): Ditto. Add const to __mask argument.
* config/i386/emmintrin.h (_mm_slli_epi16): Add const to __B argument.
(_mm_slli_epi32): Ditto.
(_mm_srli_si128): Implement as always inlined function, not as a macro.
Add __inline to function declaration.
(_mm_slli_si128): Ditto.
testsuite/ChangeLog:
PR target/31585
* gcc.target/i386/sse-13.c: Use -mssse3 and -msse4a compile options.
(__builtin_ia32_psllwi128): Redefine to test with immediate operand.
(__builtin_ia32_psrlqi128): Ditto.
(__builtin_ia32_psrlwi128): Ditto.
(__builtin_ia32_psrldi128): Ditto.
(__builtin_ia32_psrldqi128): Ditto.
(__builtin_ia32_pslldqi128): Ditto.
(__builtin_ia32_psrawi128): Ditto.
(__builtin_ia32_psradi128): Ditto.
(__builtin_ia32_psllqi128): Ditto.
(__builtin_ia32_pslldi128): Ditto.
(__builtin_prefetch): Ditto.
(__builtin_ia32_pshufw): Ditto.
(__builtin_ia32_vec_set_v4hi): Ditto.
(__builtin_ia32_vec_ext_v4hi): Ditto.
(__builtin_ia32_shufps): Ditto.
* gcc.target/i386/sse-14.c: Same changes as sse-13.c.
From-SVN: r124861
2007-05-20 01:27:48 +02:00
Andreas Tobler
dbca09c29d
re PR libgcj/31659 (config-int.h:327:1: error: "INT8_MIN" redefined)
...
2007-05-19 Andreas Tobler <a.tobler@schweiz.org>
PR libgcj/31659
* m4/ax_create_stdint_h.m4: Apply patch from PR31659.
* configure: Regenerate.
From-SVN: r124860
2007-05-19 22:44:43 +02:00
Francois-Xavier Coudert
4e7cb428e9
re PR fortran/30820 (-Wno-error not necessary in Make-lang.in any more?)
...
PR fortran/30820
* Make-lang.in: Remove use of -Wno-error for expr.o, resolve.o,
simplify.o and trans-common.o.
From-SVN: r124859
2007-05-19 20:33:45 +00:00
Francois-Xavier Coudert
61f70bf208
re PR fortran/31974 ([4.2]: array allocation multiplication of mismatched types)
...
PR fortran/31974
* trans-array.c (gfc_trans_auto_array_allocation): Avoid
multiplication of mismatched types.
* gfortran.dg/char_allocation_1.f90: New test.
From-SVN: r124858
2007-05-19 19:51:21 +00:00
Uros Bizjak
e9d416168f
sfp-machine.h (FP_EX_INVALID, [...]): New constants.
...
* config/i386/sfp-machine.h (FP_EX_INVALID, FP_EX_DENORM,
FP_EXP_DIVZERO, FP_EX_OVERFLOW, FP_EX_UNDERFLOW, FP_EX_INEXACT):
New constants.
(struct fenv): New structure.
(FP_HANDLE_EXCEPTIONS): New define.
(FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF, FP_RND_MINF): New constants.
(_FP_DECL_EXP): New define.
(FP_INIT_ROUNDMODE): New define.
(FP_ROUNDMODE): New define.
From-SVN: r124857
2007-05-19 21:19:08 +02:00
Manuel López-Ibáñez
7060db96db
invoke.texi (Warning Options): Add -Wconversion-sign.
...
2007-05-19 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* doc/invoke.texi (Warning Options): Add -Wconversion-sign.
(Wconversion): Update description.
(Wconversion-sign): New.
* c.opt (Wconversion-sign): New.
* c-opts.c (c_common_post_options): Uninitialized Wconversion-sign
means disabled for C++. Otherwise, take the status of Wconversion.
* c-common.c (conversion_warning): Warn with either Wconversion or
Wconversion-sign.
(warnings_for_convert_and_check): Conditions are already checked by
conversion_warning.
(convert_and_check): Don't check warnings if the conversion failed.
cp/
* cvt.c (cp_convert_and_check): Don't check warnings if the
conversion failed.
testsuite/
* gcc.dg/Wconversion-integer.c: Group testcases and add more.
* gcc.dg/Wconversion-sign.c: New.
* gcc.dg/Wconversion-integer-no-sign.c: New.
* g++.dg/warn/Wconversion-integer.C: Move some warnings to
Wconversion-sign.C
* g++.dg/warn/Wconversion-sign.C: New.
* g++.old-deja/g++.other/warn4.C: Update.
* g++.dg/warn/Wconversion1.C: Likewise.
From-SVN: r124856
2007-05-19 13:32:03 +00:00
Andy Hutchinson
4fc2b4ff18
avr-protos.h (expand_prologue, [...]): Add declaration.
...
* config/avr/avr-protos.h (expand_prologue, expand_epilogue,
avr_epilogue_uses) : Add declaration.
* config/avr/predicates.md (avr_sp_immediate_operand): New predicate.
* config/avr/constraints.md (R): New constraint.
config/avr/avr.md (SREG_ADDR, UNSPEC_SEI, UNSPEC_CLI,
UNSPECV_PROLOGUE_SAVES, UNSPECV_EPILOGUE_RESTORES): New constants.
(*pop1, *pop2, *pop3, *pop4, *pop5): Combine into ...
(*addhi3_sp_R_pc2, *addhi3_sp_R_pc3): ... these patterns.
(*movhi_sp, popqi, pophi, enable_interrupt, disable_interrupt,
call_prologue_saves, epilogue_restores, return_from_epilogue,
return_from_main_epilogue, return_from_interrupt_epilogue,
return_from_naked_epilogue, prologue, epilogue): New patterns.
(jump): Handle symbol reference.
* config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr,
avr_output_function_prologue, avr_output_function_epilogue): Remove
functions.
(avr_init_machine_status, expand_prologue, expand_epilogue,
avr_asm_function_end_prologue, avr_epilogue_uses,
avr_asm_function_begin_epilogue): New functions.
(prologue_size, epilogue_size, jump_tables_size): Remove global
variables.
(TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
(TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
(TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): Define.
(avr_override_options): Initialise init_machine_status.
(output_movhi): Handle all stack pointer loads.
(out_movqi_r_mr, out_movqi_mr_r): Handle SREG_ADDR address.
(avr_output_addr_vec_elt): Do not use variable jump_tables_size.
* config/avr/avr.h (AVR_2_BYTE_PC, AVR_3_BYTE_PC): New.
(EPILOGUE_USES) Redefine.
(machine_function) Declare.
Co-Authored-By: Anatoly Sokolov <aesok@dol.ru>
From-SVN: r124854
2007-05-19 14:59:17 +04:00
Richard Sandiford
6de3644168
mips.c (mips_offset_within_alignment_p): Tweak comment.
...
gcc/
* config/mips/mips.c (mips_offset_within_alignment_p): Tweak comment.
Use a single return statement.
From-SVN: r124853
2007-05-19 07:21:41 +00:00
Kaveh R. Ghazi
752b7d38db
re PR middle-end/30250 (Evaluate lgamma/gamma at compile-time)
...
PR middle-end/30250
* builtins.c (do_mpfr_lgamma_r): New.
(fold_builtin_2): Handle builtin gamma_r/lgamma_r.
* tree.h (CASE_FLT_FN_REENT): New.
testsuite:
* gcc.dg/torture/builtin-math-2.c: Add gamma_r/lgamma_r tests.
* gcc.dg/torture/builtin-math-4.c: Likewise.
From-SVN: r124849
2007-05-19 04:18:05 +00:00
Jerry DeLisle
0470f5730b
re PR fortran/31964 ([4.2, 4.1 only]ishftc fails with certain thrid argument)
...
2007-05-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/31964
* gfortran.fortran-torture/execute/intrinsic_bitops.f90: Update.
From-SVN: r124847
2007-05-19 01:07:41 +00:00
Jerry DeLisle
c152efbb10
re PR fortran/31964 ([4.2, 4.1 only]ishftc fails with certain thrid argument)
...
2007-05-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/31964
* intrinsics/ishftc.c (ishftc4, ishftc8, ishftc16): Fix mask to handle
shift of bit-size number of bits.
From-SVN: r124846
2007-05-19 01:04:03 +00:00
GCC Administrator
cc25a1c458
Daily bump.
...
From-SVN: r124843
2007-05-19 00:18:02 +00:00
Andrew Pinski
2d26b7183c
forwprop-1.c: New testcase.
...
2007-05-18 Andrew Pinski <andrew_pinski@playstation.sony.com>
* gcc.dg/tree-ssa/forwprop-1.c: New testcase.
From-SVN: r124840
2007-05-18 16:37:06 -07:00
Geoffrey Keating
8d5b1b6786
Index: gcc/java/ChangeLog
...
2007-05-18 Geoffrey Keating <geoffk@apple.com>
* jcf-dump.c (HANDLE_MAGIC): Use 'unsigned long' for %lx.
(print_constant): Likewise.
Index: gcc/ChangeLog
2007-05-18 Geoffrey Keating <geoffk@apple.com>
* dwarf2out.c (print_die): Use '%ld' not '%lu' to print a 'long'.
(output_die): Use 'unsigned long' with %x.
* sched-vis.c (print_value): Use 'unsigned HOST_WIDE_INT' and
HOST_WIDE_INT_PRINT_HEX to print HOST_WIDE_INT.
* tree-dump.c (dump_pointer): Use 'unsigned long' for %lx.
Index: gcc/cp/ChangeLog
2007-05-18 Geoffrey Keating <geoffk@apple.com>
* mangle.c (write_real_cst): Use 'unsigned long' for %lx.
From-SVN: r124839
2007-05-18 23:05:50 +00:00