1. 04 Apr, 2008 12 commits
    • Change UNSPEC_PCLMULQDQ to UNSPEC_PCLMUL. · c9a22ea1
      From-SVN: r133903
      H.J. Lu committed
    • config.gcc (extra_headers): Add wmmintrin.h for x86 and x86-64. · 8b96a312
      gcc/
      
      2008-04-04  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config.gcc (extra_headers): Add wmmintrin.h for x86 and x86-64.
      
      	* config/i386/cpuid.h (bit_AES): New.
      	(bit_PCLMUL): Likewise.
      
      	* config/i386/i386.c (pta_flags): Add PTA_AES and PTA_PCLMUL.
      	(override_options): Handle PTA_AES and PTA_PCLMUL.  Enable
      	SSE2 if AES or PCLMUL is enabled.
      	(ix86_builtins): Add IX86_BUILTIN_AESENC128,
      	IX86_BUILTIN_AESENCLAST128, IX86_BUILTIN_AESDEC128,
      	IX86_BUILTIN_AESDECLAST128, IX86_BUILTIN_AESIMC128,
      	IX86_BUILTIN_AESKEYGENASSIST128 and IX86_BUILTIN_PCLMULQDQ128.
      	(bdesc_sse_3arg): Add IX86_BUILTIN_PCLMULQDQ128.
      	(bdesc_2arg): Add IX86_BUILTIN_AESENC128,
      	IX86_BUILTIN_AESENCLAST128, IX86_BUILTIN_AESDEC128,
      	IX86_BUILTIN_AESDECLAST128 and IX86_BUILTIN_AESKEYGENASSIST128.
      	(bdesc_1arg): Add IX86_BUILTIN_AESIMC128.
      	(ix86_init_mmx_sse_builtins): Define __builtin_ia32_aesenc128,
      	__builtin_ia32_aesenclast128, __builtin_ia32_aesdec128,
      	__builtin_ia32_aesdeclast128,__builtin_ia32_aesimc128,
      	__builtin_ia32_aeskeygenassist128 and
      	__builtin_ia32_pclmulqdq128.
      	* config/i386/i386.c (ix86_expand_binop_imm_builtin): New.
      	(ix86_expand_builtin): Use it for IX86_BUILTIN_PSLLDQI128 and
      	IX86_BUILTIN_PSRLDQI128.  Handle IX86_BUILTIN_AESKEYGENASSIST128.
      
      	* config/i386/i386.h (TARGET_AES): New.
      	(TARGET_PCLMUL): Likewise.
      	(TARGET_CPU_CPP_BUILTINS): Handle TARGET_AES and TARGET_PCLMUL.
      
      	* config/i386/i386.md (UNSPEC_AESENC): New.
      	(UNSPEC_AESENCLAST): Likewise.
      	(UNSPEC_AESDEC): Likewise.
      	(UNSPEC_AESDECLAST): Likewise.
      	(UNSPEC_AESIMC): Likewise.
      	(UNSPEC_AESKEYGENASSIST): Likewise.
      	(UNSPEC_PCLMULQDQ): Likewise.
      
      	* config/i386/i386.opt (maes): New.
      	(mpclmul): Likewise.
      
      	* config/i386/sse.md (aesenc): New pattern.
      	(aesenclast): Likewise.
      	(aesdec): Likewise.
      	(aesdeclast): Likewise.
      	(aesimc): Likewise.
      	(aeskeygenassist): Likewise.
      	(pclmulqdq): Likewise.
      
      	* config/i386/wmmintrin.h: New.
      
      	* doc/extend.texi: Document AES and PCLMUL built-in function.
      
      	* doc/invoke.texi: Document -maes and -mpclmul.
      
      gcc/testsuite/
      
      2008-04-04  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* g++.dg/other/i386-2.C: Include <wmmintrin.h>.
      	* g++.dg/other/i386-3.C: Likewise.
      	* gcc.target/i386/sse-13.c: Likewise.
      	* gcc.target/i386/sse-14.c: Likewise.
      
      	* gcc.target/i386/aes-check.h: New.
      	* gcc.target/i386/aesdec.c: Likewise.
      	* gcc.target/i386/aesdeclast.c: Likewise.
      	* gcc.target/i386/aesenc.c: Likewise.
      	* gcc.target/i386/aesenclast.c: Likewise.
      	* gcc.target/i386/aesimc.c: Likewise.
      	* gcc.target/i386/aeskeygenassist.c: Likewise.
      	* gcc.target/i386/pclmulqdq.c: Likewise.
      	* gcc.target/i386/pclmul-check.h: Likewise.
      
      	* gcc.target/i386/i386.exp (check_effective_target_aes): New.
      	(check_effective_target_pclmul): Likewise.
      
      From-SVN: r133902
      H.J. Lu committed
    • function.c (free_after_parsing): Replace with cxx_push_function_context from C++ front-end. · e8924938
      2008-04-03  Paolo Bonzini  <bonzini@gnu.org>
      
      	* function.c (free_after_parsing): Replace with
      	cxx_push_function_context from C++ front-end.
      	(allocate_struct_function): Don't call langhook.
      	* langhooks.h (struct lang_hooks_for_functions): Delete.
      	(struct lang_hooks): Add back missing_noreturn_ok_p here, delete
      	member "function".
      	* langhooks-def.h (LANG_HOOKS_MISSING_NORETURN_OK_P): Add.
      	(LANG_HOOKS_FUNCTION_INIT, LANG_HOOKS_FUNCTION_FINAL,
      	LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
      	LANG_HOOKS_FUNCTION_INITIALIZER): Delete.
      	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_MISSING_NORETURN_OK_P,
      	remove LANG_HOOKS_FUNCTION_INITIALIZER.
      	* tree-cfg.c: Adjust call to missing_noreturn_ok_p langhook.
      
      	* c-objc-common.h (LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P):
      	Rename to LANG_HOOKS_MISSING_NORETURN_OK_P.
      	
      cp:
      2008-04-03  Paolo Bonzini  <bonzini@gnu.org>
      
      	* decl.c (cxx_push_function_context): Delete.
      	(cxx_pop_function_context): Delete.
      	(start_preparsed_function): Merge cxx_push_function_context (!f->decl
      	code only).
      	* cp-objcp-common.h (LANG_HOOKS_FUNCTION_INIT,
      	LANG_HOOKS_FUNCTION_FINAL): Delete.
      	(LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P): Rename to
      	LANG_HOOKS_MISSING_NORETURN_OK_P.
      	* cp-tree.h (cxx_push_function_context, cxx_pop_function_context):
      	Delete prototype.
      	* semantics.c (current_stmt_tree): Fix comment.
      
      From-SVN: r133900
      Paolo Bonzini committed
    • re PR c/35440 (ICE resulting in completely broken diagnostic) · 05008a0c
      	PR c/35440
      	* c-pretty-print.c (pp_c_initializer_list): Handle CONSTRUCTOR
      	for all types.
      
      	* gcc.dg/pr35440.c: New test.
      
      From-SVN: r133897
      Jakub Jelinek committed
    • Fix typo · 5f4bebbf
      From-SVN: r133895
      Nick Clifton committed
    • re PR middle-end/4334 (Flow control insn inside a basic block, arm/netbsd, gcc 3.1) · 2a79c47f
              PR binutils/4334
              * acx.m4 (ACX_CHECK_CYGWIN_CAT_WORKS): New macro to check that
              cygwin builds are not running in textmode.
      
              * configure.ac: Run ACX_XHEXK_CYGWIN_CAT_WORKS for cygwin hosted
              builds.
              * configure: Regenerate.
      
      From-SVN: r133894
      Nick Clifton committed
    • re PR middle-end/35823 (verify_gimple fails on taking 'Size of a String subprogram parameter) · c071e8bc
      2008-04-04  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/35823
      	* fold-const.c (optimize_minmax_comparison): Use the correct
      	type for the constant in the simplified comparison.
      
      	* gnat.dg/pr35823.adb: New testcase.
      
      From-SVN: r133893
      Richard Guenther committed
    • re PR other/35151 (Combine mingw names) · c53a18d3
      PR other/35151
              * configure.ac: Combine rules for mingw32 and mingw64.
              * configure: Regenerate.
      
      From-SVN: r133892
      NightStrike committed
    • driver-i386.c (describe_cache): Add l2_sizekb argument. · f4a1dd0d
      	* config/i386/driver-i386.c (describe_cache): Add l2_sizekb argument.
      	Pass L2 size as "--param l2-cache-size" to the compiler.
      	(decode_l2_cache): New function to decode L2 cache parameters using
      	0x8000006 extended cpuid function.
      	(detect_caches_amd): Determine parameters of L2 cache using
      	decode_l2_caches function.
      	(decode_caches_intel): Decode L2 cache parameters.
      	(detect_caches_intel): Determine L2 cache parameters using
      	decode_caches_intel and decode_l2_caches functions.
      
      From-SVN: r133890
      Zuxy Meng committed
    • xtensa.c (xtensa_secondary_reload_class): Use a secondary input reload for… · 3ee909cb
      xtensa.c (xtensa_secondary_reload_class): Use a secondary input reload for subword loads from the constant pool.
      
              * config/xtensa/xtensa.c (xtensa_secondary_reload_class): Use a
              secondary input reload for subword loads from the constant pool.
      
      From-SVN: r133889
      Bob Wilson committed
    • re PR target/35713 (invalid type for va_arg with _Decimal128) · 383e91e4
      	PR target/35713
      	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use integer
      	  constants of the appropriate size for runtime calculations.
      
      From-SVN: r133887
      Janis Johnson committed
    • Daily bump. · 311b11ec
      From-SVN: r133885
      GCC Administrator committed
  2. 03 Apr, 2008 19 commits
    • re PR c/35712 (decimal float literal constant zero loses significant trailing zeroes) · 6db07dcb
      2008-04-03  Janis Johnson  <janis187@us.ibm.com>
      
      gcc/
      	PR c/35712
      	* dfp.c (decimal_from_decnumber): Retain trailing zeroes for
      	  decimal-float literal constant zero.
      
      testsuite/
      	PR c/35712
      	* gcc.dg/dfp/constants-zero.c: New test.
      
      From-SVN: r133881
      Janis Johnson committed
    • re PR c/35738 (ICE with #pragma omp atomic and conversion from pointer to int) · 79addd1f
      	PR c/35738
      	* c-parser.c (c_parser_omp_atomic): Call
      	default_function_array_conversion on the RHS.
      
      	* gcc.dg/gomp/pr35738.c: New test.
      
      From-SVN: r133876
      Jakub Jelinek committed
    • re PR middle-end/35818 (ICE on incomplete array in shared clause) · 5da250fc
      	PR middle-end/35818
      	* omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: Don't
      	call is_variable_sized if decl has incomplete type.
      
      	* gcc.dg/gomp/pr35818.c: New test.
      
      From-SVN: r133875
      Jakub Jelinek committed
    • re PR fortran/35786 (OpenMP Fortran PRIVATE on parameter gives error in gfc_finish_var_decl) · 637b5a8e
      	PR fortran/35786
      	* openmp.c (resolve_omp_clauses): Diagnose if a clause symbol
      	isn't a variable.
      
      	* gfortran.dg/gomp/pr35786-1.f90: New test.
      	* gfortran.dg/gomp/pr35786-2.f90: New test.
      
      From-SVN: r133874
      Jakub Jelinek committed
    • i386-protos.h (ix86_aligned_p): Removed. · 940f3b52
      2008-04-03  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/i386-protos.h (ix86_aligned_p): Removed.
      
      From-SVN: r133873
      H.J. Lu committed
    • mips.md (any_gt, [...]): New code iterators. · 6ac935c1
      	* config/mips/mips.md (any_gt, any_ge, any_lt, any_le): New code
      	iterators.
      	(u): Add attribute values for gt, gtu, ge, geu, lt, ltu, le and
      	leu.
      	(sgt<u>): Merge sgt and sgtu into new expander.
      	(sgt, sgtu): Remove expanders.
      	(*sgt<u>_<mode>): Merge *sgt_<mode> and *sgtu_<mode> into new
      	pattern.
      	(*sgt_<mode>, *sgtu_<mode>): Remove patterns.
      	(*sgt<u>_<mode>_mips16): Merge *sgt_<mode>_mips16 and
      	*sgtu_<mode>_mips16 into new pattern.
      	(*sgt_<mode>_mips16, *sgtu_<mode>_mips16): Remove patterns.
      	(sge<u>): Merge sge and sgeu into new expander.
      	(sge, sgeu): Remove expanders.
      	(*sge<u>_<mode>): Merge *sge_<mode> and second *sge_<mode> into
      	new pattern.
      	(*sge_<mode>, second *sge_<mode>): Remove patterns.
      	(slt<u>): Merge slt and sltu into new expander.
      	(slt, sltu): Remove expanders.
      	(*slt<u>_<mode>): Merge *slt_<mode> and *sltu_<mode> into new
      	pattern.
      	(*slt_<mode>, *sltu_<mode>): Remove patterns.
      	(*slt<u>_<mode>_mips16): Merge *slt_<mode>_mips16 and
      	*sltu_<mode>_mips16 into new pattern.
      	(*slt_<mode>_mips16, *sltu_<mode>_mips16): Remove patterns.
      	(sle<u>): Merge sle and sleu into new expander.
      	(sle, sleu): Remove expanders.
      	(*sle<u>_<mode>): Merge *sle_<mode> and *sleu_<mode> into new
      	pattern.
      	(*sle_<mode>, *sleu_<mode>): Remove patterns.
      	(*sle<u>_<mode>_mips16): Merge *sle_<mode>_mips16 and
      	*sleu_<mode>_mips16 into new pattern.
      	(*sle_<mode>_mips16, *sleu_<mode>_mips16): Remove patterns.
      
      testsuite/
      
      	* gcc.target/mips/scc-1.c: New test.
      
      From-SVN: r133872
      Adam Nemet committed
    • re PR target/35795 (Revision 133787 breaks ia64) · 6b0c2336
      2008-04-03  Jan Hubicka  <jh@suse.cz>
      
      	PR tree-optimization/35795
      	* alpha/alpha.c (alpha_output_mi_thunk_osf): Free after compilation.
      	* sparc/sparc.c (sparc_output_mi_thunk): Likewise.
      	* ia64/ia64.c (ia64_output_mi_thunk): Likewise.
      	* m68k/m68k.c (m68k_output_mi_thunk): Likewise.
      	* score/score3.c (score3_output_mi_thunk): Likewise.
      	* score/score7.c (score7_output_mi_thunk): Likewise.
      	* mips/mips.c (mips_output_mi_thunk): Likewise.
      
      From-SVN: r133868
      Jan Hubicka committed
    • tree-vrp.c (extract_range_from_unary_expr): Handle all conversions. · b47ee386
      2008-04-03  Richard Guenther  <rguenther@suse.de>
      
      	* tree-vrp.c (extract_range_from_unary_expr): Handle all
      	conversions.  Simplify code.
      
      	* gcc.dg/tree-ssa/vrp43.c: New testcase.
      	* gcc.dg/tree-ssa/vrp44.c: Likewise.
      	* gcc.dg/tree-ssa/vrp45.c: Likewise.
      
      From-SVN: r133866
      Richard Guenther committed
    • * config/sh/sh.c (sh_output_mi_thunk): Free cfun. · 2a7428c0
      From-SVN: r133865
      Kaz Kojima committed
    • re PR c++/35741 (ICE with offsetof and references) · 60c4d135
      	PR c++/35741
      	* semantics.c (finish_offsetof): Undo effect of convert_from_reference
      	before calling fold_offsetof.
      
      	* g++.dg/other/offsetof5.C: New test.
      
      From-SVN: r133863
      Jakub Jelinek committed
    • t-uclinux (generated_files): Add sysroot-suffix.h. · 6cba282a
      gcc/
      2008-04-03  Tom Tromey  <tromey@redhat.com>
      	    Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
      
      	* config/m68k/t-uclinux (generated_files): Add sysroot-suffix.h.
      	* config/bfin/t-bfin-linux (generated_files): Add
      	linux-sysroot-suffix.h.
      	* doc/install.texi (Prerequisites): Require make 3.80.
      	* doc/sourcebuild.texi (Front End Directory): Document new
      	variable.
      	* Makefile.in (generated_files): New variable.
      	(ALL_HOST_OBJS): New variable.
      	($(ALL_HOST_OBJS)): New target.
      
      gcc/java/
      2008-04-03  Tom Tromey  <tromey@redhat.com>
      
      	* Make-lang.in (java_OBJS): New variable.
      
      gcc/objc/
      2008-04-03  Tom Tromey  <tromey@redhat.com>
      
      	* Make-lang.in (objc_OBJS): New variable.
      
      gcc/objcp/
      2008-04-03  Tom Tromey  <tromey@redhat.com>
      
      	* Make-lang.in (obj-c++_OBJS): New variable.
      
      gcc/cp/
      2008-04-03  Tom Tromey  <tromey@redhat.com>
      
      	* Make-lang.in (c++_OBJS): New variable.
      
      gcc/fortran/
      2008-04-03  Tom Tromey  <tromey@redhat.com>
      
      	* Make-lang.in (fortran_OBJS): New variable.
      
      Co-Authored-By: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
      
      From-SVN: r133862
      Tom Tromey committed
    • tree-inline.c (copy_generic_body, [...]): Export. · 9ff420f1
      2007-03-09  Paolo Bonzini  <bonzini@gnu.org>
      
      	* tree-inline.c (copy_generic_body, copy_decl_no_change): Export.
      	(remap_block): Call id->transform_lang_insert_block instead
      	of langhook.
      	(optimize_inline_calls, unsave_expr_now, tree_function_versioning):
      	Set id.transform_lang_insert_block to NULL.
      	(clone_body): Move to cp/optimize.c
      	* tree-inline.h (struct copy_body_data): Change
      	transform_lang_insert_block to function pointer.
      	(copy_generic_body, copy_decl_no_change): Export.
      	* langhooks.h (struct lang_hooks_for_decls): Kill insert_block.
      	* langhooks-def.h (LANG_HOOKS_INSERT_BLOCK): Kill.
      	(LANG_HOOKS_DECLS): Remove LANG_HOOKS_INSERT_BLOCK.
      
      	* c-tree.h (insert_block): Kill.
      	* c-decl.c (insert_block): Kill.
      
      cp:
      2007-03-09  Paolo Bonzini  <bonzini@gnu.org>
      
      	* optimize.c (clone_body): New, from tree-inline.c.
      
      ada:
      2007-03-09  Paolo Bonzini  <bonzini@gnu.org>
      
      	* gigi.h (insert_block): Kill.
      	* utils.c (insert_block): Kill.
      
      java:
      2007-03-09  Paolo Bonzini  <bonzini@gnu.org>
      
      	* java-tree.h (insert_block): Kill.
      	* decl.c (insert_block): Kill.
      
      fortran:
      2007-03-09  Paolo Bonzini  <bonzini@gnu.org>
      
      	* f95-lang.c (insert_block): Kill.
      
      From-SVN: r133861
      Paolo Bonzini committed
    • c-objc-common.h (LANG_HOOKS_FUNCTION_ENTER_NESTED, [...]): Delete. · d2784db4
      2008-04-03  Paolo Bonzini  <bonzini@gnu.org>
      
      	* c-objc-common.h (LANG_HOOKS_FUNCTION_ENTER_NESTED,
      	LANG_HOOKS_FUNCTION_LEAVE_NESTED): Delete.
      	* c-tree.h (c_push_function_context, c_pop_function_context): Remove
      	argument.
      	* c-decl.c (c_push_function_context, c_pop_function_context): Remove
      	argument, call {push,pop}_function_context from here.
      	* c-parser.c: Use c_{push,pop}_function_context.
      
      	* function.c (push_function_context_to): Move meat ...
      	(push_function_context): ... here.  Simplify.
      	* function.c (pop_function_context_from): Move meat ...
      	(pop_function_context): ... here.  Simplify.
      	* langhooks.h (struct lang_hooks_for_functions): Remove enter_nested,
      	leave_nested).
      	* langhooks-def.h (LANG_HOOKS_FUNCTION_ENTER_NESTED,
              LANG_HOOKS_FUNCTION_LEAVE_NESTED): Delete.
      	(LANG_HOOKS_FUNCTION_INITIALIZER): Delete them from here.
      	* tree.h (push_function_context_to, pop_function_context_from): Remove.
      
      cp:
      2008-04-03  Paolo Bonzini  <bonzini@gnu.org>
      
      	* method.c (synthesize_method): Use {push,pop}_function_context.
      	* name-lookup.c (push_to_top_level): Likewise.
      	* parser.c (cp_parser_late_parsing_for_member): Likewise.
      
      From-SVN: r133860
      Paolo Bonzini committed
    • re PR rtl-optimization/35281 (multiply with 0 generated for 64*32->64) · 0a262d54
      2008-04-03  Paolo Bonzini  <bonzini@gnu.org>
      
      	PR rtl-optimization/35281
      	* gcc.target/i386/pr35281.c: New test.
      
      From-SVN: r133859
      Paolo Bonzini committed
    • * expmed.c (extract_force_align_mem_bit_field): Remove. · 9e0aebca
      From-SVN: r133858
      Ben Elliston committed
    • re PR middle-end/35800 (Revision 133835 failed to compile binutils) · 55187c8a
      	PR middle-end/35800
      	* expr.h (try_casesi): Adjust prototype.
      	* expr.c (try_casesi): Take fallback label as extra parameter.
      	Use that for gen_casesi if default_label is NULL.
      	* stmt.c (expand_case): Pass fallback label to try_casesi,
      	make sure to fill gaps with a fallback label if default_label
      	is not present.
      
      From-SVN: r133857
      Richard Guenther committed
    • re PR middle-end/35800 (Revision 133835 failed to compile binutils) · d2cf5f99
      	PR middle-end/35800
      	* gcc.c-torture/execute/pr35800.c: New test.
      
      From-SVN: r133856
      Richard Guenther committed
    • re PR target/35801 (At revision 133817, bootstrap fails at… · d7087dd2
      re PR target/35801 (At revision 133817, bootstrap fails at libstdc++-v3/src/strstream.cc on powerpc-apple-darwin9)
      
      2008-04-03  Dominique d'Humieres <dominiq@lps.ens.fr>
      
              PR target/35801
              * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Free cfun.
      
      From-SVN: r133855
      Dominique d'Humieres committed
    • Daily bump. · 9fc8f665
      From-SVN: r133853
      GCC Administrator committed
  3. 02 Apr, 2008 9 commits
    • expmed.c (extract_split_bit_field): Remove if (0) code. · 609023ff
      	* expmed.c (extract_split_bit_field): Remove if (0) code.
      	* tree-ssa-structalias.c (do_sd_constraint): Likewise.
      	(do_ds_constraint): Likewise.
      
      From-SVN: r133848
      Ben Elliston committed
    • cppopts.texi (-dU): Document. · 93d45d9e
      gcc:
      	* doc/cppopts.texi (-dU): Document.
      	* c-common.h (flag_dump_macros): Update comment.
      	* c-opts.c (handle_OPT_d): Handle -dU.
      	* c-ppoutput.c (macro_queue, define_queue, undef_queue,
      	dump_queued_macros, cb_used_define, cb_used_undef): New.
      	(init_pp_output): Handle -dU.
      	(cb_line_change): Call dump_queued_macros.
      	* toplev.c (decode_d_option): Accept -dU as preprocessor option.
      
      gcc/testsuite:
      	* gcc.dg/cpp/cmdlne-dU-1.c, gcc.dg/cpp/cmdlne-dU-2.c,
      	gcc.dg/cpp/cmdlne-dU-3.c, gcc.dg/cpp/cmdlne-dU-4.c,
      	gcc.dg/cpp/cmdlne-dU-5.c, gcc.dg/cpp/cmdlne-dU-6.c,
      	gcc.dg/cpp/cmdlne-dU-7.c, gcc.dg/cpp/cmdlne-dU-8.c,
      	gcc.dg/cpp/cmdlne-dU-9.c, gcc.dg/cpp/cmdlne-dU-10.c,
      	gcc.dg/cpp/cmdlne-dU-11.c, gcc.dg/cpp/cmdlne-dU-12.c,
      	gcc.dg/cpp/cmdlne-dU-13.c, gcc.dg/cpp/cmdlne-dU-14.c,
      	gcc.dg/cpp/cmdlne-dU-15.c, gcc.dg/cpp/cmdlne-dU-16.c,
      	gcc.dg/cpp/cmdlne-dU-17.c, gcc.dg/cpp/cmdlne-dU-18.c,
      	gcc.dg/cpp/cmdlne-dU-19.c, gcc.dg/cpp/cmdlne-dU-20.c,
      	gcc.dg/cpp/cmdlne-dU-21.c, gcc.dg/cpp/cmdlne-dU-22.c: New tests.
      
      libcpp:
      	* include/cpplib.h (struct cpp_callbacks): Add used_define,
      	used_undef and before_define.
      	(NODE_USED): Define.
      	* directives.c (do_define, do_undef, undefine_macros, do_ifdef,
      	do_ifndef, cpp_pop_definition): Handle new flag and use new
      	callbacks.
      	* expr.c (parse_defined): Handle new flag and use new callbacks.
      	* macro.c (enter_macro_context, _cpp_free_definition): Handle new
      	flag and use new callbacks.
      
      From-SVN: r133847
      Joseph Myers committed
    • predicates.md (io_address_operand): New predicate. · e6b69d0e
      	* config/avr/predicates.md (io_address_operand): New predicate. 
      	* config/avr/avr-protos.h (avr_io_address_p): Remove declaration.
      	* config/avr/avr.c (avr_io_address_p): Remove function.
      	(out_movqi_r_mr): Use 'io_address_operand' predicate instead of 
      	'avr_io_address_p' function.
      	(out_movhi_r_mr): (Ditto.).
      	(out_movqi_mr_r): (Ditto.).
      	(out_movhi_mr_r): (Ditto.).
      	(avr_address_cost): (Ditto.).
      
      From-SVN: r133846
      Anatoly Sokolov committed
    • i386.md (*float<SSEMODEI24:mode><X87MODEF:mode>2_1): Emit… · 7b198002
      i386.md (*float<SSEMODEI24:mode><X87MODEF:mode>2_1): Emit gen_floatdi<X87MODEF:mode>2_i387_with_xmm for DImode values in 32bit mode...
      
              * config/i386/i386.md (*float<SSEMODEI24:mode><X87MODEF:mode>2_1):
              Emit gen_floatdi<X87MODEF:mode>2_i387_with_xmm for DImode values
              in 32bit mode when XMM registers are available to avoid store
              forwarding stalls.
              (floatdi<X87MODEF:mode>2_i387_with_xmm): New insn pattern and
              corresponding post-reload splitters.
      
      From-SVN: r133845
      Uros Bizjak committed
    • re PR bootstrap/35216 (Out of memory building java) · ce52c73b
      PR bootstrap/35216
      * scripts/makemake.tcl: Replace org/omg build with build of all its subpackages.
      * sources.am: Regenerate.
      * Makefile.in: Regenerate.
      
      From-SVN: r133842
      Peter O'Gorman committed
    • i386.c (bdesc_sse_3arg): Add __builtin_ia32_shufps and __builtin_ia32_shufpd. · abe08645
      2008-04-02  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/i386.c (bdesc_sse_3arg): Add __builtin_ia32_shufps
      	and __builtin_ia32_shufpd.  Provide __builtin_ia32_roundsd and
      	__builtin_ia32_roundss.
      	(ix86_init_mmx_sse_builtins): Remove __builtin_ia32_shufps,
      	__builtin_ia32_shufpd, __builtin_ia32_roundsd and
      	__builtin_ia32_roundss.
      	(ix86_expand_builtin): Don't handle IX86_BUILTIN_SHUFPS and
      	IX86_BUILTIN_SHUFPD here.
      
      From-SVN: r133838
      H.J. Lu committed
    • i386.md (plogic): New. · 94237c92
      2008-04-02  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/i386.md (plogic): New.
      	(plogicprefix): Likewise.
      
      	* config/i386/mmx.md (mmx_<code><mode>3): New.
      	(mmx_and<mode>3): Removed.
      	(mmx_ior<mode>3): Likewise.
      	(mmx_xor<mode>3): Likewise.
      
      	* config/i386/sse.md (<code><mode>3): New.
      	(*<code><mode>3): Likewise.
      	(*<code><mode>3): Likewise.
      	(<code><mode>3): Likewise.
      	(*sse_<code><mode>3): Likewise.
      	(*sse2_<code><mode>3): Likewise.
      	(<code>tf3): Likewise.
      	(*<code>tf3): Likewise.
      	(and<mode>3): Likewise.
      	(*and<mode>3): Likewise.
      	(ior<mode>3): Removed.
      	(*ior<mode>3): Likewise.
      	(xor<mode>3): Likewise.
      	(*xor<mode>3): Likewise.
      	(*and<mode>3): Likewise.
      	(*ior<mode>3): Likewise.
      	(*xor<mode>3): Likewise.
      	(and<mode>3): Likewise.
      	(*sse_and<mode>3): Likewise.
      	(*sse2_and<mode>3): Likewise.
      	(andtf3): Likewise.
      	(*andtf3): Likewise.
      	(ior<mode>3): Likewise.
      	(*sse_ior<mode>3): Likewise.
      	(*sse2_ior<mode>3): Likewise.
      	(iortf3): Likewise.
      	(*iortf3): Likewise.
      	(xor<mode>3): Likewise.
      	(*sse_xor<mode>3): Likewise.
      	(*sse2_xor<mode>3): Likewise.
      	(xortf3): Likewise.
      	(*xortf3): Likewise.
      
      From-SVN: r133837
      H.J. Lu committed
    • re PR tree-optimization/14495 ([tree-ssa] Propagate range info into a switch statement) · b7814a18
      2008-04-02  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/14495
      	PR tree-optimization/34793
      	* tree-vrp.c (struct switch_update): New structure.
      	(to_remove_edges, to_update_switch_stmts): New VECs.
      	(simplify_switch_using_ranges): New function.  Remove not taken
      	case labels and edges.
      	(simplify_stmt_using_ranges): Call it.
      	(identify_jump_threads): Mark edges we have queued for removal
      	so we don't thread them.
      	(execute_vrp): Remove edges queued for removal, update SWITCH_STMT
      	case label vector.
      	* tree-cfg.c (group_case_labels): Deal with missing default label.
      	(tree_verify_flow_info): Allow missing default label.
      	* stmt.c (emit_case_bit_tests): Deal with NULL default_label.
      	(emit_case_nodes): Likewise.
      	(expand_case): Do not rely on the default label to be present.
      	* expr.c (try_casesi): Deal with NULL default_label.
      	(do_tablejump): Likewise.
      
      	* gcc.dg/tree-ssa/vrp41.c: New testcase.
      	* gcc.dg/tree-ssa/vrp42.c: Likewise.
      
      From-SVN: r133835
      Richard Guenther committed
    • re PR tree-optimization/14495 ([tree-ssa] Propagate range info into a switch statement) · 8aea0bf0
      2008-04-02  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/14495
      	* tree-vrp.c (vrp_visit_cond_stmt): Do not handle
      	SWITCH_EXPR here ...
      	(vrp_visit_switch_stmt): ... but here (new function).
      	(find_case_label_index): New helper function.
      	(vrp_visit_stmt): Dispatch to vrp_visit_switch_stmt.
      
      	* gcc.dg/tree-ssa/vrp40.c: New testcase.
      
      From-SVN: r133834
      Richard Guenther committed