1. 25 Oct, 2006 11 commits
    • * config/xtensa/lib2funcs.S: Use C-style comments. · 76f6e118
      From-SVN: r118039
      Bob Wilson committed
    • dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH. · 1d2c2b96
              * dwarf2out.c (gen_compile_unit_die): Use IS_ABSOLUTE_PATH.
              (file_table_relative_p): Likewise.
              (dwarf2out_finish): Likewise.
              (file_name_acquire): Use DIR_SEPARATOR and DIR_SEPARATOR_2.
      
      From-SVN: r118033
      Nathan Froyd committed
    • tree-ssa-structalias.c (intra_create_variable_infos): Don't recreate… · 80ba9432
      tree-ssa-structalias.c (intra_create_variable_infos): Don't recreate nonlocal_all if it already exists.
      
      2006-10-25  Daniel Berlin  <dberlin@dberlin.org>
      
      	* tree-ssa-structalias.c (intra_create_variable_infos):
      	  Don't recreate nonlocal_all if it already exists.
      
      From-SVN: r118031
      Daniel Berlin committed
    • optabs.h (enum optab_index): Remove OTI_lrint. · bb7f0423
      2006-10-25  Richard Guenther  <rguenther@suse.de>
      
      	* optabs.h (enum optab_index): Remove OTI_lrint.
      	(enum convert_optab_index): Add COI_lrint.
      	(lrint_optab): Adjust.
      	(expand_sfix_optab): Declare.
      	* optabs.c (expand_sfix_optab): New function.
      	(init_optabs): Init lrint_optab as conversion optab.
      	* genopinit.c (lrint_optab): Change to a conversion optab.
      	* builtins.c (expand_builtin_int_roundingfn_2): Adjust to
      	expansion via conversion optab.
      	* config/i386/i386.md (*fistdi2_1): Remove
      	flag_unsafe_math_optimizations guard.
      	(fistdi2, fistdi2_with_temp, *fist<mode>2_1, fist<mode>2,
      	fist<mode>2_with_temp): Likewise.
      	(lrint<mode>2): Split into...
      	(lrintxf<mode>2): ... x87 part
      	(lrint<mode>di2, lrint<mode>si2): ... and SSE parts.
      	* config/i386/sse.md (sse_cvtss2si_2, sse_cvtss2_siq_2,
      	sse2_cvtsd2si_2, sse2_cvtsd2siq_2): New insns for
      	UNSPEC_FIX_NOTRUNC matching non-vector float modes.
      	* doc/md.texi (lrintMN2): Document.
      
      From-SVN: r118029
      Richard Guenther committed
    • re PR target/28909 (Missed optimization with x86 sync builtins) · ef984648
              PR target/28909
              * config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>"):
              Use inc and dec instructions for TARGET_USE_INCDEC.
              ("*sync_compare_and_swap<mode>"): Fix -masm=intel template.
              ("sync_double_compare_and_swap<mode>"): Likewise.
              ("*sync_double_compare_and_swapdi_pic"): Likewise.
              ("*sync_compare_and_swap_cc<mode>"): Likewise.
              ("sync_double_compare_and_swap_cc<mode>"): Likewise.
              ("*sync_double_compare_and_swap_ccdi_pic"): Likewise.
              ("sync_old_add<mode>"): Likewise.
              ("sync_lock_test_and_set<mode>"): Likewise.
              ("sync_lock_test_and_set<mode>"): Likewise.
              ("sync_add<mode>"): Likewise.
              ("sync_sub<mode>"): Likewise.
              ("sync_ior<mode>"): Likewise.
              ("sync_and<mode>"): Likewise.
              ("sync_xor<mode>"): Likewise.
      
      From-SVN: r118028
      Uros Bizjak committed
    • MAINTAINERS: Move myself to Write After Approval section. · b4364fa2
              * MAINTAINERS: Move myself to Write After Approval section.
      
      From-SVN: r118027
      Chen Liqin committed
    • optabs.h (enum optab_index): Rename OTI_drem to OTI_remainder. · 17b98269
              * optabs.h (enum optab_index): Rename OTI_drem to OTI_remainder.
              (remainder_optab): Define corresponding macro.
              (drem_optab): Remove.
              * optabs.c (init_optabs): Initialize remainder_optab.  Remove
              drem_optab initialization.
              * genopinit.c (optabs): Implement remainder_optab using
              remainder?f3 patterns.  Remove drem_optab.
              * builtins.c (expand_builtin_mathfn_2): Handle
              BUILT_IN_REMAINDER{,F,L} using remainder_optab.
              (expand_builtin): Expand BUILT_IN_REMAINDER{,F,L} using
              expand_builtin_mathfn_2.
      
              (expand_builtin) [BUILT_IN_FMOD, BUILT_IN_DREM]: Do not
              depend on flag_unsafe_math_optimizations.
      
              * config/i386/i386.md ("remaindersf3", "remainderdf3")
              ("remainderxf3"): Renamed from "drem{s,d,x}f3" expanders.
              Do not depend on flag_unsafe_math_optimizations.  Use
              truncxf?f expander instead of truncxf?f_i387_noop.
      
              ("fpremxf4", "fprem1xf4"): Do not depend on
              flag_unsafe_math_optimizations.
              ("fmodsf3", "fmoddf3", "fmodxf3"): Do not depend on
              flag_unsafe_math_optimizations.  Use truncxf?f expander
              instead of truncxf?f_i387_noop.
      
              * doc/md.texi (fmod, remainder): Document standard named pattern.
      
      testsuite/ChangeLog:
      
              * gcc.dg/builtins-40.c: Also check remainder(), remainderf()
              and remainderl() built-in functions.  Remove -ffast-math from
              dg-options.
      
      From-SVN: r118024
      Uros Bizjak committed
    • re PR middle-end/29519 (Bad code on MIPS with -fnon-call-exceptions) · 942d7821
      	PR middle-end/29519
      	* rtlanal.c (nonzero_address_p):  Remove check for values wrapping.
      
      Co-Authored-By: David Daney <ddaney@avtrex.com>
      
      From-SVN: r118023
      Richard Sandiford committed
    • Daily bump. · 7068ca91
      From-SVN: r118020
      GCC Administrator committed
  2. 24 Oct, 2006 14 commits
  3. 23 Oct, 2006 12 commits
    • builtin-sin-mpfr-1.c: New test. · 4d5fc916
      	* gcc.dg/torture/builtin-sin-mpfr-1.c: New test.
      
      From-SVN: r117985
      Kaveh R. Ghazi committed
    • re PR middle-end/29335 (transcendental functions with constant arguments should… · 1f3f1f68
      re PR middle-end/29335 (transcendental functions with constant arguments should be resolved at compile-time)
      
      	PR middle-end/29335
      	* builtins.c (fold_builtin_sin, fold_builtin_cos,
      	fold_builtin_tan): Fold all constant arguments.  Take a "type"
      	argument as necessary.
      	(do_mpfr_arg1): New.
      	* real.c, real.h (real_from_mpfr, mpfr_from_real): New.
      
      From-SVN: r117983
      Kaveh R. Ghazi committed
    • * config/xtensa/lib1funcs.asm: Use C-style comments. · b544aa7b
      From-SVN: r117982
      Bob Wilson committed
    • decl.c: Include langhooks.h. · c79efc4d
             * gcc/java/decl.c: Include langhooks.h.
             (builtin_function): Remove.
             (java_init_decl_processing): Replace calls to builtin_function
             with add_builtin_function.
      
             * gcc/java/Make-lang.in (jc1$(exeext)): Depend on and link with
             attribs.o.
             (java/decl.o): Depend on langhooks.h.
      
             * gcc/java/java-tree.h (builtin_function): Remove.
      
             * gcc/tree.c (local_define_builtin): Replace calls to
             lang_hooks.builtin_function with add_builtin_function.
      
             * gcc/objc/objc-act.c (synth_module_prologue): Replace calls to
             builtin_function with add_builtin_function.
             (build_next_objc_exception_stuff): Replace calls to
             builtin_function with add_builtin_function.
             (build_objc_exception_stuff): Replace calls to
             builtin_function with add_builtin_function.
      
             * gcc/objcp/objcp-decl.h (objcp_builtin_function): Remove.
      
             * gcc/cp/decl.c (builtin_function_1): Move common code to
             add_builtin_function.
             (builtin_function): Rename to cxx_builtin_function.
             Change the signature.
      
             * gcc/cp/call.c: Include langhooks.h.
             (build_java_interface_fn_ref):  Replace calls to
             builtin_function with add_builtin_function.
      
             * gcc/cp/Make-lang.in (cp/call.o): Depend on langhooks.h.
      
             * gcc/cp/cp-objcp-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as
             cxx_builtin_function.
      
             * gcc/cp/cp-tree.h (builtin_function): Rename to cxx_builtin_function.
             Change the signature.
      
             * gcc/c-objc-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as
             c_builtin_function.
      
             * gcc/c-tree.h (builtin_function): Rename to c_builtin_function. Change
             the signature.
      
             * gcc/ada/utils.c (builtin_function): Rename to gnat_builtin_function.
             Move common code to add_builtin_function.
      
             * gcc/ada/misc.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as
             gnat_builtin_function.
      
             * gcc/ada/gigi.h (builtin_function): Rename to gnat_builtin_function.
             Change the signature.
      
             * gcc/c-decl.c (builtin_function): Rename to c_builtin_function. Move
             common code to add_builtin_function.
      
             * gcc/fortran/Make-lang.in (f951$(exeext)): Depend on and link with
             attribs.o.
      
             * gcc/fortran/trans.h (builtin_function): Rename to
             gfc_builtin_function. Change the signature.
      
             * gcc/fortran/f95-lang.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as
             gfc_builtin_function.
             (builtin_function): Rename to gfc_builtin_function. Move common
             code to builtin_function.
             (gfc_define_builtin): Replace calls to builtin_function with
             gfc_define_builtin.
      
             * gcc/langhooks.c (add_builtin_function): New function.
             (lhd_builtin_function): New function.
      
             * gcc/langhooks.h (struct lang_hooks): Change the signature of
             builtin_function.
             (add_builtin_function): New function.
      
             * gcc/treelang/treetree.c (builtin_function): Remove.
      
             * gcc/tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Replace
             calls to lang_hooks.builtin_function with add_builtin_function.
      
             * gcc/c-common.c (decl_builtin_1): Replace calls to
             lang_hooks.builtin_function with add_builtin_function.
      
             * gcc/config/alpha/alpha.c (alpha_init_builtins): Replace calls to
             lang_hooks.builtin_function with add_builtin_function.
      
             * gcc/config/frv/frv.c (def_builtin): Replace calls to
             lang_hooks.builtin_function with add_builtin_function.
      
             * gcc/config/s390/s390.c (s390_init_builtins): Replace calls to
             lang_hooks.builtin_function with add_builtin_function.
      
             * gcc/config/sparc/sparc.c (def_builtin): Replace calls to
             lang_hooks.builtin_function with add_builtin_function.
      
             * gcc/config/i386/i386.c (def_builtin): Replace calls to
             lang_hooks.builtin_function with add_builtin_function.
             (def_builtin): Replace calls to lang_hooks.builtin_function with
             add_builtin_function.
      
             * gcc/config/sh/sh.c (sh_media_init_builtins): Replace calls to
             lang_hooks.builtin_function with add_builtin_function.
      
             * gcc/config/c4x/c4x.c (c4x_init_builtins): Replace calls to
             lang_hooks.builtin_function with add_builtin_function.
      
             * gcc/config/stormy16/stormy16.c (xstormy16_init_builtins):
             Replace calls to lang_hooks.builtin_function with
             add_builtin_function.
      
             * gcc/config/iq2000/iq2000.c (def_builtin):
             Replace calls to lang_hooks.builtin_function with
             add_builtin_function.
      
             * gcc/config/ia64/ia64.c (def_builtin): Replace calls to
             lang_hooks.builtin_function with add_builtin_function.
      
             * gcc/config/rs6000/rs6000.c (def_builtin): Replace calls to
             lang_hooks.builtin_function with add_builtin_function.
             (altivec_init_builtins): Replace calls to
             lang_hooks.builtin_function with add_builtin_function.
      
             * gcc/config/arm/arm.c (def_mbuiltin): Replace calls to
             lang_hooks.builtin_function with add_builtin_function.
             (arm_init_tls_builtins): Replace calls to
             lang_hooks.builtin_function with add_builtin_function.
      
             * gcc/config/mips/mips.c (mips_init_builtins): Replace calls to
             lang_hooks.builtin_function with add_builtin_function.
      
             * gcc/config/bfin/bfin.c (def_builtin): Replace calls to
             lang_hooks.builtin_function with add_builtin_function.
      
             * gcc/langhooks-def.h (lhd_builtin_function): New function.
             (LANG_HOOKS_BUILTIN_FUNCTION): Define as lhd_builtin_function.
      
      From-SVN: r117981
      Rafael Ávila de Espíndola committed
    • builtins.c (expand_builtin, [...]): Handle BUILT_IN_STRNCAT_CHK. · 1c2fc017
      	* builtins.c (expand_builtin, maybe_emit_chk_warning): Handle
      	BUILT_IN_STRNCAT_CHK.
      
      	* gcc.dg/builtin-strncat-chk-1.c: New test.
      
      From-SVN: r117980
      Jakub Jelinek committed
    • builtins.c (expand_builtin_memmove): Remove ORIG_EXP argument; don't do… · eaf19122
      builtins.c (expand_builtin_memmove): Remove ORIG_EXP argument; don't do conversion from memmove to memcpy here.
      
      	* builtins.c (expand_builtin_memmove): Remove ORIG_EXP argument;
      	don't do conversion from memmove to memcpy here.
      	(expand_builtin_bcopy, expand_builtin): Update call of
      	expand_builtin_memmove.
      	(fold_builtin_memory_op): Do folding of memmove to memcpy here.
      
      	* gcc.dg/memmove-1.c: New test.
      
      From-SVN: r117979
      Jan Hubicka committed
    • stor-layout.c (start_record_layout): maximum_field_alignment overrides STRUCTURE_SIZE_BOUNDARY. · 353293e7
      2006-10-23  Paul Brook  <paul@codesourcery.com>
      
      	gcc/
      	* stor-layout.c (start_record_layout): maximum_field_alignment
      	overrides STRUCTURE_SIZE_BOUNDARY.
      
      	gcc/testsuite/
      	* gcc.dg/pragma-pack-5.c: New test.
      
      From-SVN: r117977
      Paul Brook committed
    • predicates.md ("bras_sym_operand"): Do not accept nonlocal function symbols if flag_pic. · 6915c1ce
      ChangeLog:
      
      	* config/s390/predicates.md ("bras_sym_operand"): Do not accept
      	nonlocal function symbols if flag_pic.
      
      testsuite/ChangeLog:
      
      	* g++.dg/other/s390-1.C: New testcase.
      
      From-SVN: r117973
      Ulrich Weigand committed
    • [multiple changes] · b0cd88d2
      2006-10-24  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/27132
      	PR middle-end/23295
      	* builtins.c (fold_binary): Remove checks for flag_wrapv
      	and flag_trapv where negate_expr_p covers these cases.
      
      	* gcc.dg/pr27132.c: New testcase.
      	* gcc.dg/pr23295.c: Likewise.
      	* gcc.dg/tree-ssa/pr23294.c: Adjust patterns.
      	* g++.dg/tree-ssa/pr19807.C: Likewise.
      
      2006-10-23  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/29548
      	* fold-const.c (fold_plusminus_mult_expr): Check exact power
      	of two on the absolute value.
      	(fold_binary): Fold x * -C to -x * C if x is easily negatable
      	and negating -C does not overflow.
      
      From-SVN: r117969
      Richard Guenther committed
    • re PR middle-end/21032 (With -frounding-math, incorrectly reorders unary minus) · 4f76e46b
      2006-10-23  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/21032
      	* convert.c (convert_to_real): Fold (float)-x to -(float)x
      	only if not flag_rounding_math.
      
      	* gcc.dg/pr21032.c: New testcase.
      
      From-SVN: r117968
      Richard Guenther committed
    • Daily bump. · 1b406ead
      From-SVN: r117966
      GCC Administrator committed
    • re PR target/28232 (Wrong aligned load is generated with -m4a on sh-*) · 85144c5c
      	PR target/28232
      	* config/sh/sh.c (expand_block_move): Use a BLKmode rather than
      	SImode memory reference for the source of a movua.
      	* config/sh/sh.md (UNSPEC_MOVUA): New macro.
      	(movua): Use an unspec instead of sign_extract.  Expect the source
      	to have mode BLKmode.
      	(extv, insv): Use a BLKmode rather than SImode memory reference
      	for the source of a movua.
      
      
      Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>
      
      From-SVN: r117961
      Richard Sandiford committed
  4. 22 Oct, 2006 3 commits
    • re PR tree-optimization/15911 (VRP/DOM does not like TRUTH_AND_EXPR) · 279f3eb5
      2006-10-22  Jeff Law  <law@redhat.com>
      	Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/15911
      	* tree-vrp.c (extract_code_and_val_from_cond): New function.
      	(register_edge_assert_for_1): Likewise.
      	(register_edge_assert_for): Handle &&/&/||/| in conditionals.
      	(find_conditional_asserts): Adjust for new function signature.
      	(find_assert_locations): Likewise.
      
      	* gcc.dg/tree-ssa/vrp30.c: New testcase.
      
      Co-Authored-By: Richard Guenther <rguenther@suse.de>
      
      From-SVN: r117960
      Jeff Law committed
    • tmmintrin.h: Remove the duplicated content. · c0546edb
      2006-10-22  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/tmmintrin.h: Remove the duplicated content.
      
      From-SVN: r117959
      H.J. Lu committed
    • config.gcc (i[34567]86-*-*): Add tmmintrin.h to extra_headers. · b1875f52
      2006-10-22  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config.gcc (i[34567]86-*-*): Add tmmintrin.h to extra_headers.
      	(x86_64-*-*): Likewise.
      
      	* config/i386/i386.c (pta_flags): Add PTA_SSSE3.
      	(override_options): Check SSSE3.
      	(ix86_builtins): Add IX86_BUILTIN_PHADDW, IX86_BUILTIN_PHADDD,
      	IX86_BUILTIN_PHADDSW, IX86_BUILTIN_PHSUBW, IX86_BUILTIN_PHSUBD,
      	IX86_BUILTIN_PHSUBSW, IX86_BUILTIN_PMADDUBSW,
      	IX86_BUILTIN_PMULHRSW, IX86_BUILTIN_PSHUFB,
      	IX86_BUILTIN_PSIGNB, IX86_BUILTIN_PSIGNW, IX86_BUILTIN_PSIGND,
      	IX86_BUILTIN_PALIGNR, IX86_BUILTIN_PABSB, IX86_BUILTIN_PABSW,
      	IX86_BUILTIN_PABSD, IX86_BUILTIN_PHADDW128,
      	IX86_BUILTIN_PHADDD128, IX86_BUILTIN_PHADDSW128,
      	IX86_BUILTIN_PHSUBW128, IX86_BUILTIN_PHSUBD128,
      	IX86_BUILTIN_PHSUBSW128, IX86_BUILTIN_PMADDUBSW128,
      	IX86_BUILTIN_PMULHRSW128, IX86_BUILTIN_PSHUFB128,
      	IX86_BUILTIN_PSIGNB128, IX86_BUILTIN_PSIGNW128,
      	IX86_BUILTIN_PSIGND128, IX86_BUILTIN_PALIGNR128,
      	IX86_BUILTIN_PABSB128, IX86_BUILTIN_PABSW128 and
      	IX86_BUILTIN_PABSD128.
      	(bdesc_2arg): Add SSSE3.
      	(bdesc_1arg): Likewise.
      	(ix86_init_mmx_sse_builtins): Support SSSE3.
      	(ix86_expand_builtin): Likewise.
      	* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Likewise.
      
      	* config/i386/i386.md (UNSPEC_PSHUFB): New.
      	(UNSPEC_PSIGN): Likewise.
      	(UNSPEC_PALIGNR): Likewise.
      	Include mmx.md before sse.md.
      
      	* config/i386/i386.opt: Add -mssse3.
      
      	* config/i386/sse.md (ssse3_phaddwv8hi3): New pattern for SSSE3.
      	(ssse3_phaddwv4hi3): Likewise.
      	(ssse3_phadddv4si3): Likewise.
      	(ssse3_phadddv2si3): Likewise.
      	(ssse3_phaddswv8hi3): Likewise.
      	(ssse3_phaddswv4hi3): Likewise.
      	(ssse3_phsubwv8hi3): Likewise.
      	(ssse3_phsubwv4hi3): Likewise.
      	(ssse3_phsubdv4si3): Likewise.
      	(ssse3_phsubdv2si3): Likewise.
      	(ssse3_phsubswv8hi3): Likewise.
      	(ssse3_phsubswv4hi3): Likewise.
      	(ssse3_pmaddubswv8hi3): Likewise.
      	(ssse3_pmaddubswv4hi3): Likewise.
      	(ssse3_pmulhrswv8hi3): Likewise.
      	(ssse3_pmulhrswv4hi3): Likewise.
      	(ssse3_pshufbv16qi3): Likewise.
      	(ssse3_pshufbv8qi3): Likewise.
      	(ssse3_psign<mode>3): Likewise.
      	(ssse3_psign<mode>3): Likewise.
      	(ssse3_palignrti): Likewise.
      	(ssse3_palignrdi): Likewise.
      	(abs<mode>2): Likewise.
      	(abs<mode>2): Likewise.
      
      	* config/i386/tmmintrin.h: New file.
      
      	* doc/extend.texi: Document SSSE3 built-in functions.
      
      	* doc/invoke.texi: Document -mssse3/-mno-ssse3 switches.
      
      From-SVN: r117958
      H.J. Lu committed