Commit Graph

77009 Commits

Author SHA1 Message Date
Erik Edelmann
b9703d9852 re PR fortran/29393 (Vector subscript rejected)
fortran/
2006-10-24  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/29393
        * expr.c (simplify_parameter_variable): Keep rank of original
         expression.

Testsuite/
2006-10-24  Erik Edelmann  <eedelman@gcc.gnu.org>

        PR fortran/29393
        * gfortran.dg/initialize_2.f90: New.

From-SVN: r118008
2006-10-24 17:01:30 +00:00
Eric Botcazou
6d4d216add re PR libgomp/29494 (libgomp build fails with missing pthread_mutexattr_settype)
PR libgomp/29494
	* configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
	* config/posix95: New directory.
	* config/posix95/omp-lock.h: New file.
	* config/posix95/lock.c: Likewise.

From-SVN: r118004
2006-10-24 13:59:06 +00:00
Kaveh R. Ghazi
a5326b13ed builtin-math-2.c: New test.
* gcc.dg/torture/builtin-math-2.c: New test.

From-SVN: r118003
2006-10-24 12:25:06 +00:00
Richard Guenther
27d7d0422c re PR middle-end/28796 (__builtin_nan() and __builtin_unordered() inconsistent)
2006-10-24  Richard Guenther  <rguenther@suse.de>

	PR middle-end/28796
	* builtins.c (fold_builtin_classify): Use HONOR_INFINITIES
	and HONOR_NANS instead of MODE_HAS_INFINITIES and MODE_HAS_NANS
	for deciding optimizations in consistency with fold-const.c
	(fold_builtin_unordered_cmp): Likewise.

        * gcc.dg/pr28796-1.c: New testcase.
        * gcc.dg/pr28796-1.c: Likewise.

From-SVN: r118001
2006-10-24 09:15:07 +00:00
Richard Guenther
e1502f6e2d builtins.c (fold_builtin_floor): Fold floor (x) where x is nonnegative to trunc (x).
2006-10-24  Richard Guenther  <rguenther@suse.de>

	* builtins.c (fold_builtin_floor): Fold floor (x) where
	x is nonnegative to trunc (x).
	(fold_builtin_int_roundingfn): Fold lfloor (x) where x is
	nonnegative to FIX_TRUNC_EXPR.

	* gcc.dg/builtins-57.c: New testcase.

From-SVN: r117998
2006-10-24 08:35:12 +00:00
Richard Guenther
34fc5065e8 re PR tree-optimization/29567 (ICE in build2_stat, at tree.c:2963)
2006-10-24  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/29567
	* tree-vrp.c (register_edge_assert_for_1): Fix wrong logic
	for TRUTH_NOT_EXPR.  Clarify comments.

	* gfortran.fortran-torture/compile/vrp_1.f90: New testcase.

From-SVN: r117997
2006-10-24 08:12:04 +00:00
Kaveh R. Ghazi
b52dd66cc0 builtins.c (fold_builtin_exponent): Evaluate constant arguments at compile-time using MPFR.
* builtins.c (fold_builtin_exponent): Evaluate constant arguments
	at compile-time using MPFR.  Change parameter VALUE to FUNC,
	update all callers.
	(do_mpfr_arg1): Rename `exact' to `inexact'.  Carefully check
	for overflow and underflow at all times and avoid folding in
	those cases.

From-SVN: r117995
2006-10-24 04:13:16 +00:00
Ben Elliston
247140eaf7 * reload1.c: Formatting fixes.
From-SVN: r117993
2006-10-24 13:24:58 +10:00
GCC Administrator
59e6026bd5 Daily bump.
From-SVN: r117991
2006-10-24 00:17:35 +00:00
Zdenek Dvorak
ae5360407b re PR tree-optimization/14784 ([Tree-ssa] alias analysis deficiency)
PR tree-optimization/14784
	* tree-flow.h (struct var_ann_d): Add is_heapvar bit.
	* tree-ssa-structalias.c (get_constraint_for,
	intra_create_variable_infos): Set is_heapvar.
	* tree-ssa-operands.c (access_can_touch_variable): Do not handle
	non-heapvar pointer variables specially.

	* gcc.dg/alias-10.c: New test.

From-SVN: r117986
2006-10-24 00:12:16 +00:00
Kaveh R. Ghazi
4d5fc91677 builtin-sin-mpfr-1.c: New test.
* gcc.dg/torture/builtin-sin-mpfr-1.c: New test.

From-SVN: r117985
2006-10-23 20:31:50 +00:00
Kaveh R. Ghazi
1f3f1f6827 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
2006-10-23 20:24:55 +00:00
Bob Wilson
b544aa7b95 * config/xtensa/lib1funcs.asm: Use C-style comments.
From-SVN: r117982
2006-10-23 20:17:45 +00:00
Rafael Ávila de Espíndola
c79efc4d2a decl.c: Include langhooks.h.
* 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
2006-10-23 19:47:58 +00:00
Jakub Jelinek
1c2fc017ed builtins.c (expand_builtin, [...]): Handle BUILT_IN_STRNCAT_CHK.
* 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
2006-10-23 21:18:42 +02:00
Jan Hubicka
eaf1912236 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
2006-10-23 18:50:40 +00:00
Paul Brook
353293e7f7 stor-layout.c (start_record_layout): maximum_field_alignment overrides STRUCTURE_SIZE_BOUNDARY.
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
2006-10-23 16:36:51 +00:00
Ulrich Weigand
6915c1cea2 predicates.md ("bras_sym_operand"): Do not accept nonlocal function symbols if flag_pic.
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
2006-10-23 13:38:50 +00:00
Richard Guenther
b0cd88d216 [multiple changes]
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
2006-10-23 07:19:34 +00:00
Richard Guenther
4f76e46b18 re PR middle-end/21032 (With -frounding-math, incorrectly reorders unary minus)
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
2006-10-23 07:15:45 +00:00
GCC Administrator
1b406eadf9 Daily bump.
From-SVN: r117966
2006-10-23 00:17:39 +00:00
Richard Sandiford
85144c5cdd re PR target/28232 (Wrong aligned load is generated with -m4a on sh-*)
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
2006-10-23 00:14:39 +00:00
Jeff Law
279f3eb50b re PR tree-optimization/15911 (VRP/DOM does not like TRUTH_AND_EXPR)
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
2006-10-22 20:11:09 +00:00
H.J. Lu
c0546edb9d tmmintrin.h: Remove the duplicated content.
2006-10-22  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/tmmintrin.h: Remove the duplicated content.

From-SVN: r117959
2006-10-22 10:53:02 -07:00
H.J. Lu
b1875f5291 config.gcc (i[34567]86-*-*): Add tmmintrin.h to extra_headers.
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
2006-10-22 10:40:21 -07:00
Nathan Sidwell
6e4be1fa8c re PR libstdc++/20647 (Wrong typeid for incomplete types)
cp/
	PR c++/20647
	* rtti.c (tinfo_base_init): The type info string is always global.
testsuite/
	PR c++/20647
	* g++.dg/abi/rtti3.C: New.

From-SVN: r117957
2006-10-22 16:07:41 +00:00
Joseph Myers
59edb6b4b4 * cpplib.pot: Regenerate.
From-SVN: r117954
2006-10-22 13:40:31 +01:00
Joseph Myers
803b1dc23b * gcc.pot: Regenerate.
From-SVN: r117953
2006-10-22 13:39:40 +01:00
Ira Rosen
52fb985608 tree-vect-transform.c (vectorizable_load): Use the type of the return value of the mask_for_load builtin to create...
* tree-vect-transform.c (vectorizable_load): Use the type of the
        return value of the mask_for_load builtin to create realign_load
        stmt.

From-SVN: r117952
2006-10-22 10:45:36 +00:00
Richard Sandiford
7dc7d8a2e4 mips.c (mips_split_const): Don't accept bare PLUS expressions.
gcc/
	* config/mips/mips.c (mips_split_const): Don't accept bare PLUS
	expressions.

From-SVN: r117950
2006-10-22 09:28:01 +00:00
Francois-Xavier Coudert
5a0aad3165 re PR fortran/26025 (Optionally use BLAS for matmul)
PR fortran/26025

	* lang.opt: Add -fexternal-blas and -fblas-matmul-limit options.
	* options.c (gfc_init_options): Initialize new flags.
	(gfc_handle_option): Handle new flags.
	* gfortran.h (gfc_option): Add flag_external_blas and
	blas_matmul_limit flags.
	* trans-expr.c (gfc_conv_function_call): Use new argument
	append_args, appending it at the end of the argument list
	built for a function call.
	* trans-stmt.c (gfc_trans_call): Use NULL_TREE for the new
	append_args argument to gfc_trans_call.
	* trans.h (gfc_conv_function_call): Update prototype.
	* trans-decl.c (gfc_build_intrinsic_function_decls): Add
	prototypes for BLAS ?gemm routines.
	* trans-intrinsic.c (gfc_conv_intrinsic_funcall): Generate the
	extra arguments given to the library matmul function, and give
	them to gfc_conv_function_call.
	* invoke.texi: Add documentation for -fexternal-blas and
	-fblas-matmul-limit.

	* m4/matmul.m4: Add possible call to gemm routine.
	* generated/matmul_r8.c: Regenerate.
	* generated/matmul_r16.c: Regenerate.
	* generated/matmul_c8.c: Regenerate.
	* generated/matmul_i8.c: Regenerate.
	* generated/matmul_c16.c: Regenerate.
	* generated/matmul_r10.c: Regenerate.
	* generated/matmul_r4.c: Regenerate.
	* generated/matmul_c10.c: Regenerate.
	* generated/matmul_c4.c: Regenerate.
	* generated/matmul_i4.c: Regenerate.
	* generated/matmul_i16.c: Regenerate.

From-SVN: r117948
2006-10-22 07:41:48 +00:00
Daniel Berlin
d4f6a8099d Commit forgotten file
From-SVN: r117947
2006-10-22 01:25:17 +00:00
GCC Administrator
a1d914aa9f Daily bump.
From-SVN: r117945
2006-10-22 00:17:36 +00:00
Steven G. Kargl
4a8bce89d1 error.c: Add errno.h
2006-10-21  Steven G. Kargl  <kargl@gcc.gnu.org>

        * runtime/error.c: Add errno.h
        (generate_error): Set iostat to errno on OS error.
        * libgfortran.h: Set ERROR_OS to 5000

From-SVN: r117939
2006-10-21 22:38:56 +00:00
H.J. Lu
96208aed83 i386.md (UNSPEC_LDQQU): Renamed to ...
2006-10-21  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.md (UNSPEC_LDQQU): Renamed to ...
	(UNSPEC_LDDQU): This.
	* config/i386/sse.md (sse3_lddqu): Updated.

From-SVN: r117938
2006-10-21 13:43:32 -07:00
Uros Bizjak
495ed96c2a re PR middle-end/28252 (pow(x,1/3.0) should be converted to cbrt(x))
2006-10-21  Uros Bizjak  <uros@kss-loka.si>

        PR middle-end/28252
        * builtins.c (fold_builtin): Fold pow(x,1.0/3.0) as cbrt(x) if
        flag_unsafe_math_optimizations is set.

testsuite/ChangeLog:

        PR middle-end/28252
        * gcc.dg/builtins-8.c: Also check pow(x,1.0/3.0) to cbrt(x)
        transformation.

From-SVN: r117937
2006-10-21 22:05:35 +02:00
Richard Guenther
0bfa1541fa builtins.c (expand_builtin_int_roundingfn_2): New function.
2006-10-21  Richard Guenther  <rguenther@suse.de>

	* builtins.c (expand_builtin_int_roundingfn_2): New function.
	(expand_builtin): Use it to expand lrint instead of
	expand_builtin_mathfn.

From-SVN: r117936
2006-10-21 19:55:07 +00:00
Uros Bizjak
962ef7fea2 re PR rtl-optimization/19398 (secondary reloads don't consider "m" alternatives)
PR target/19398
        * config/i386/i386.md (fix_trunc?f?i_sse): Add peephole2
        patterns to use memory input operand in x87->mem->XMM
        reload sequences.  Skip transformation for TARGET_K8.

From-SVN: r117935
2006-10-21 21:27:02 +02:00
Uros Bizjak
509a77dc9c i386.md (extendsfdf2, [...]): Do not force operand1 to register if both operands are memory operands.
* config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Do not
        force operand1 to register if both operands are memory operands.
        (*extendsfdf2_mixed, *extendsfdf2_sse, *extendsfdf2_i387)
        (*extendsfxf2_i387, *extenddfxf2_i387): Do not disable pattern
        if both operands are memory operands.
        (truncdfsf2): Do not force operand1 to register if both operands
        are memory operands.

From-SVN: r117934
2006-10-21 17:49:41 +02:00
Kaveh R. Ghazi
70ec446fab configure.in: Require GMP-4.1+ and MPFR-2.2+.
* configure.in: Require GMP-4.1+ and MPFR-2.2+.  Don't check
	need_gmp anymore.
	* configure: Regenerate.

gcc:
	* Makefile.in (LIBS): Add $(GMPLIBS).
	* doc/install.texi: Update GMP and MPFR requirements.
	* doc/sourcebuild.texi (need_gmp): Delete.

gcc/fortran:
	* Make-lang.in (F95_LIBS): Delete.
	* f951$(exeext): Use $(LIBS) instead of $(F95_LIBS).
	* config-lang.in (need_gmp): Delete.

From-SVN: r117933
2006-10-21 13:58:13 +00:00
Richard Guenther
0778d4e84a re PR tree-optimization/3511 (Inlined strlen() could be smarter)
2006-10-21  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/3511
	* tree-ssa-pre.c (phi_translate): Fold CALL_EXPRs that
	got new invariant arguments during PHI translation.

	* gcc.dg/tree-ssa/ssa-pre-15.c: New testcase.

From-SVN: r117932
2006-10-21 13:23:41 +00:00
Richard Guenther
8a1eca0803 re PR middle-end/26898 (Fold does not fold signed + CST1 CMP signed + CST2)
2006-10-21  Richard Guenther  <rguenther@suse.de>

	PR middle-end/26898
	* fold-const.c (fold_comparison): Fold signed comparisons
	of the form X +- C1 CMP Y +- C2.

	* gcc.dg/torture/pr26898-1.c: New testcase.
	* gcc.dg/torture/pr26898-2.c: Likewise.

From-SVN: r117931
2006-10-21 13:21:06 +00:00
Richard Guenther
5a4171a01d re PR target/19116 (-funsafe-math-optimizations make nan compares equal to one another (-finite-math-only should be doing that))
2006-10-21  Richard Guenther  <rguenther@suse.de>

	PR target/19116
	* config/i386/i386.c (override_options): Do not set MASK_IEEE_FP
	if flag_unsafe_math_optimizations is specified.  We have
	flag_finite_math_only for that.
	* config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP
	or flag_unsafe_math_optimizations.

From-SVN: r117930
2006-10-21 10:40:57 +00:00
Richard Guenther
120a56cb67 builtins.c (fold_builtin_classify): Fix typo.
2006-10-21  Richard Guenther  <rguenther@suse.de>

        * builtins.c (fold_builtin_classify): Fix typo.

From-SVN: r117929
2006-10-21 10:17:49 +00:00
Richard Guenther
bdbb046092 re PR middle-end/28796 (__builtin_nan() and __builtin_unordered() inconsistent)
2006-10-21  Richard Guenther  <rguenther@suse.de>

	PR middle-end/28796
	* simplify-rtx.c (simplify_const_relational_operation):
	Do not constant-fold ORDERED and UNORDERED for
	flag_unsafe_math_optimizations but only we do not need to
	honor NaNs for the given mode.

From-SVN: r117928
2006-10-21 10:13:13 +00:00
Richard Guenther
1faf92ae79 re PR target/29512 (compile time hog / deadloop.)
2006-10-21  Richard Guenther  <rguenther@suse.de>

	PR target/29512
	* config/i386/i386.c (classify_argument): Remove redundant
	walking of the BINFOs.
	(contains_128bit_aligned_vector_p): Likewise.

From-SVN: r117927
2006-10-21 10:05:21 +00:00
Mark Mitchell
1b0c64fdcd * crontab: Add 4.2 branch. Set trunk to 4.3.
From-SVN: r117926
2006-10-21 03:15:08 +00:00
Mark Mitchell
20a0da3597 * BASE-VER: Set to 4.3.0.
From-SVN: r117924
2006-10-21 02:43:05 +00:00
Daniel Berlin
b23987ec2f tree.h (DECL_PTA_ARTIFICIAL): Remove.
2006-10-20  Daniel Berlin  <dberlin@dberlin.org>

	* tree.h (DECL_PTA_ARTIFICIAL): Remove.
	(tree_decl_with_vis): Remove artificial_pta_var flag.
	* tree-flow.h (referenced_var_check_and_insert): Expose.
	(nonlocal_all): New prototype.
	* tree-ssa-structalias.c (nonlocal_for_type): Remove.
	(nonlocal_all): Make global.
	(nonlocal_lookup): Remove.
	(nonlocal_insert): Ditto.
	(create_nonlocal_var): Do not call nonlocal_insert.
	(get_nonlocal_id_for_type): Remove.
	(find_global_initializers): Mark new vars we find for renaming.
	(intra_create_variable_infos): Only create one nonlocal.
	(expand_nonlocal_solutions): Remove.
	(compute_points_to_sets): Don't call it.
	(ipa_pta_execute): Ditto.
	(init_alias_heapvars): Don't create nonlocal_for_type.
	(delete_alias_heapvars): Don't remove it.
	* tree-ssa-operands.c (access_can_touch_variable): Don't prune
	nonlocal_all.

From-SVN: r117922
2006-10-21 02:38:30 +00:00
GCC Administrator
552f68f8fb Daily bump.
From-SVN: r117918
2006-10-21 00:17:17 +00:00