Commit Graph

96761 Commits

Author SHA1 Message Date
Eric Botcazou
22d12fc2cb trans.c (lvalue_required_p): New case.
* gcc-interface/trans.c (lvalue_required_p) <N_Unchecked_Conversion>:
	New case.

From-SVN: r153948
2009-11-05 18:25:10 +00:00
Janus Weil
4b7dd692c2 re PR fortran/41556 ([OOP] Errors in applying operator/assignment to an abstract type)
2009-11-05  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41556
	* interface.c (matching_typebound_op,gfc_extend_assign): Handle CLASS
	variables.

2009-11-05  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41556
	* gfortran.dg/class_12.f03: New test.

From-SVN: r153946
2009-11-05 16:31:07 +01:00
Jakub Jelinek
5ddf025851 i386.exp (check_effective_target_xop): Fix typo in builtin's name.
* gcc.target/i386/i386.exp (check_effective_target_xop): Fix typo
	in builtin's name.

From-SVN: r153943
2009-11-05 15:54:19 +01:00
Paul Brook
d79f303241 arm.c (arm_fp_model, [...]): Remove.
2009-11-05  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm.c (arm_fp_model, arm_fpu_arch, arm_fpu_tune): Remove.
	(arm_fpu_desc): New.
	(all_fpus): Add FPU details.
	(fp_model_for_fpu): Remove.
	(arm_override_options): Set and use arm_fpu_desc and arm_fpu_attr.
	(arm_output_epilogue, arm_save_coproc_regs): Use TARGET_FPA_EMU2.
	(arm_file_start): Use arm_fpu_desc.
	* config/arm/arm.h (TARGET_FPA, TARGET_MAVERICK, TARGET_VFP,
	TARGET_VFPD32, TARGET_VFP3, TARGET_NEON_FP16, TARGET_NEON): Use
	arm_fpu_desc.
	(TARGET_FPA_EMU2): Define.
	(arm_fp_model, fputype, arm_fpu_tune): Remove.
	(vfp_reg_type, arm_fpu_desc): New.
	* config/arm/arm.md (attr fpu): Simplify.
	* config/arm/fpa.md (movxf_fpa): Use TARGET_FPA_EMU2.
	* config/arm/linux-elf.h (FPUTYPE_DEFAULT): Use string value.
	* config/arm/bpabi.h (FPUTYPE_DEFAULT): Use string value.
	* config/arm/netbsd-elf.h (FPUTYPE_DEFAULT): Use string value.
	* config/arm/vxworks.h (FPUTYPE_DEFAULT): Use string value.

From-SVN: r153942
2009-11-05 14:47:45 +00:00
Michael Matz
79e22ff8a4 i386.c (ix86_builtin_reciprocal): Remove dependency on TARGET_RECIP.
* config/i386/i386.c (ix86_builtin_reciprocal): Remove dependency
	on TARGET_RECIP.
	* doc/invoke.texi (-mrecip): Clarify that we don't need -mrecip
	for 1/sqrtf.

From-SVN: r153940
2009-11-05 14:11:26 +00:00
Paolo Carlini
338311e5d7 multiway_merge.h: Simple formatting and uglification fixes.
2009-11-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/multiway_merge.h: Simple formatting and
	uglification fixes.
	* include/parallel/losertree.h: Likewise.
	* include/parallel/base.h: Likewise.
	* include/parallel/par_loop.h: Likewise.
	* include/parallel/omp_loop_static.h: Likewise.
	* include/parallel/multiway_mergesort.h: Likewise.
	* include/parallel/partial_sum.h: Likewise.
	* include/parallel/omp_loop.h: Likewise.

From-SVN: r153939
2009-11-05 14:06:13 +00:00
Rafael Avila de Espindola
94086ef69c lto-plugin.c (temp_obj_dir_name): Remove.
2009-11-05  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (temp_obj_dir_name): Remove.
	(arguments_file_name): New.
	(free_2): Free arguments_file_name instead of temp_obj_dir_name.
	(exec_lto_wrapper):  Create arguments file with make_temp_file.
	(cleanup_handler): Don't remove the temporary directory. Remove the
	arguments file.
	(onload): Don't create the temporary directory.

From-SVN: r153938
2009-11-05 13:59:54 +00:00
Joern Rennecke
3be9759a01 * MAINTAINERS (Write After Approval): Add entry for my INRIA work.
From-SVN: r153937
2009-11-05 13:41:46 +00:00
Jason Merrill
5ab8b6b550 re PR c++/36912 (ICE with "-frounding-math -g")
PR c++/36912
	* varasm.c (initializer_constant_valid_p): A PLUS_EXPR
	or MINUS_EXPR of REAL_TYPE is not a valid constant initializer.
	(output_constant): Avoid crash after error.

From-SVN: r153936
2009-11-05 08:11:42 -05:00
Martin Jambor
30a20e9731 tree-sra.c (struct access): Changed comment of next_sibling field.
2009-11-04  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (struct access): Changed comment of next_sibling field.
	(analyze_modified_params): Loop over accesses of a group rather than
	over all with the ame base, pass a common bitmap to
	walk_aliased_vdefs.
	(unmodified_by_ref_scalar_representative): Build link lists of
	accesses of a group.
	(splice_param_accesses): Likewise.

From-SVN: r153935
2009-11-05 13:09:08 +01:00
Janus Weil
8bae6273fb re PR fortran/41556 ([OOP] Errors in applying operator/assignment to an abstract type)
2009-11-05  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41556
	PR fortran/41873
	* resolve.c (resolve_function,resolve_call): Prevent abstract interfaces
	from being called, but allow deferred type-bound procedures with
	abstract interface.


2009-11-05  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41556
	PR fortran/41873
	* gfortran.dg/interface_abstract_4.f90: New test.

From-SVN: r153934
2009-11-05 11:42:48 +01:00
Maxim Kuvyrkov
eb6219852b * gcc.target/m68k/pr41302.c: Fix target triplet.
From-SVN: r153933
2009-11-05 10:22:27 +00:00
Benjamin Kosnik
dc5de59088 009-11-04 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/25_algorithms/fill/5.cc: Move...
	* testsuite/25_algorithms/fill_n/1.cc: ...here.

From-SVN: r153929
2009-11-05 02:55:08 +00:00
GCC Administrator
d5bcfb20ba Daily bump.
From-SVN: r153928
2009-11-05 00:16:41 +00:00
Kenneth Zadeck
4f2da32b77 df-scan.c (df-uses-record): Add case zero_extract of mem.
2009-11-04  Kenneth Zadeck  <zadeck@naturalbridge.com>

	* df-scan.c (df-uses-record): Add case zero_extract of mem.

From-SVN: r153924
2009-11-04 23:17:54 +00:00
Jason Merrill
cb5f207480 Revert untested varasm.c change
From-SVN: r153923
2009-11-04 18:14:56 -05:00
Jason Merrill
be998fb7bc fix
From-SVN: r153922
2009-11-04 18:14:14 -05:00
Jason Merrill
e3503aa8cf re PR c++/36912 (ICE with "-frounding-math -g")
PR c++/36912
	* varasm.c (initializer_constant_valid_p): A PLUS_EXPR
	or MINUS_EXPR of REAL_TYPE is not a valid constant initializer.
	(output_constant): Avoid crash after error.

From-SVN: r153921
2009-11-04 18:13:23 -05:00
Jason Merrill
f4ecc8fd6b re PR c++/39413 (static_assert and SFINAE)
PR c++/39413
	* search.c (lookup_base): Don't complete_type (base).

From-SVN: r153920
2009-11-04 17:29:35 -05:00
Eric Botcazou
f96b189564 Fix nit
From-SVN: r153919
2009-11-04 21:50:31 +00:00
Eric Botcazou
35a07c37da re PR target/10127 (-fstack-check let's program crash)
PR target/10127
	PR ada/20548
	* config/i386/i386.md (probe_stack_range): New expander.
	(logical operation peepholes): Do not split stack checking probes.

From-SVN: r153918
2009-11-04 21:45:54 +00:00
Harsha Jagasia
3e901069e7 invoke.texi (-mlwp): Add documentation.
2009-11-04  Harsha Jagasia  <harsha.jagasia@amd.com>
            Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>

        * doc/invoke.texi (-mlwp): Add documentation.
        * doc/extend.texi (x86 intrinsics): Add LWP intrinsics.
        * config.gcc (i[34567]86-*-*): Include lwpintrin.h.
        (x86_64-*-*): Ditto.
        * config/i386/lwpintrin.h: New file, provide x86 compiler
        intrinisics for LWP.
        * config/i386/cpuid.h (bit_LWP): Define LWP bit.
        * config/i386/x86intrin.h: Add LWP check and lwpintrin.h.
        * config/i386/i386-c.c (ix86_target_macros_internal): Check
        ISA_FLAG for LWP. 
        * config/i386/i386.h (TARGET_LWP): New macro for LWP.
        * config/i386/i386.opt (-mlwp): New switch for LWP support.
        * config/i386/i386.c (OPTION_MASK_ISA_LWP_SET): New.
        (OPTION_MASK_ISA_LWP_UNSET): New.       
        (ix86_handle_option): Handle -mlwp.
        (isa_opts): Handle -mlwp.
        (enum pta_flags): Add PTA_LWP.
        (override_options): Add LWP support.
        (IX86_BUILTIN_LLWPCB16): New for LWP intrinsic.
        (IX86_BUILTIN_LLWPCB32): Ditto.
        (IX86_BUILTIN_LLWPCB64): Ditto.
        (IX86_BUILTIN_SLWPCB16): Ditto.
        (IX86_BUILTIN_SLWPCB32): Ditto.
        (IX86_BUILTIN_SLWPCB64): Ditto.
        (IX86_BUILTIN_LWPVAL16): Ditto.
        (IX86_BUILTIN_LWPVAL32): Ditto.
        (IX86_BUILTIN_LWPVAL64): Ditto.
        (IX86_BUILTIN_LWPINS16): Ditto.
        (IX86_BUILTIN_LWPINS32): Ditto.
        (IX86_BUILTIN_LWPINS64): Ditto.
        (enum  ix86_special_builtin_type): Add LWP intrinsic support.
        (builtin_description): Ditto.
        (ix86_init_mmx_sse_builtins): Ditto.
        (ix86_expand_special_args_builtin): Ditto.
        * config/i386/i386.md (UNSPEC_LLWP_INTRINSIC): Add new UNSPEC
        for LWP support.
        (UNSPEC_SLWP_INTRINSIC): Ditto.
        (UNSPECV_LWPVAL_INTRINSIC): Ditto.
        (UNSPECV_LWPINS_INTRINSIC): Ditto.
        (lwp_llwpcbhi1): New lwp pattern.
        (lwp_llwpcbsi1): Ditto.
        (lwp_llwpcbdi1): Ditto.
        (lwp_slwpcbhi1): Ditto.
        (lwp_slwpcbsi1): Ditto.
        (lwp_slwpcbdi1): Ditto.
        (lwp_lwpvalhi3): Ditto.
        (lwp_lwpvalsi3): Ditto.
        (lwp_lwpvaldi3): Ditto.
        (lwp_lwpinshi3): Ditto.
        (lwp_lwpinssi3): Ditto.
        (lwp_lwpinsdi3): Ditto.


Co-Authored-By: Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>

From-SVN: r153917
2009-11-04 21:15:42 +00:00
Janus Weil
6168891d1f [multiple changes]
2009-11-04  Tobias Burnus <burnus@gcc.gnu.org>
	    Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41556
	PR fortran/41937
	* interface.c (gfc_check_operator_interface): Handle CLASS arguments.
	* resolve.c (resolve_allocate_expr): Handle allocatable components of
	CLASS variables.


2009-11-04  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41556
	PR fortran/41937
	* gfortran.dg/class_11.f03: New test.

From-SVN: r153911
2009-11-04 20:41:07 +01:00
Jason Merrill
0bc044b8b3 correct PR number
From-SVN: r153910
2009-11-04 14:36:34 -05:00
Jason Merrill
eeeca7d418 re PR c++/15882 (Check for return type of overloaded operator new too early)
PR c++/15882
	* method.c (use_thunk): Check DECL_WEAK as well as
	DECL_ONE_ONLY.

From-SVN: r153909
2009-11-04 14:34:25 -05:00
Paolo Carlini
d87f43c358 multiway_merge.h: Simple formatting and uglification fixes.
2009-11-04  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/multiway_merge.h: Simple formatting and
	uglification fixes.
	* include/parallel/losertree.h: Likewise.

From-SVN: r153907
2009-11-04 18:48:21 +00:00
Andrew Pinski
0e159e0f2b re PR rtl-optimization/41833 (vec_splat followed by vec_splat could be improved)
2009-11-04  Andrew Pinski  <andrew_pinski@playstation.sony.com>
            Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>

        PR rtl-opt/41833
        * simplify-rtx.c (simplify_binary_operation_1): Simplify vec_select of
        a vec_duplicate.

2009-11-04  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR rtl-opt/41833
        * gcc.target/powerpc/altivec-33.c: New testcase.


Co-Authored-By: Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>

From-SVN: r153906
2009-11-04 10:35:57 -08:00
Jason Merrill
ac3554c568 PR c++/17365, DR 218
PR c++/17365, DR 218
	* name-lookup.c (add_function): Ignore non-functions.

From-SVN: r153905
2009-11-04 13:13:57 -05:00
Richard Guenther
7e9dc421e5 gcc.c (process_command): Handle arguments name@offset.
2009-11-04  Richard Guenther  <rguenther@suse.de>
            Rafael Avila de Espindola  <espindola@google.com>
 
	* gcc.c (process_command): Handle arguments name@offset.

2009-11-04  Richard Guenther  <rguenther@suse.de>
            Rafael Avila de Espindola  <espindola@google.com>

	* lto-elf.c (lto_elf_build_section_table): Add the base offset.
	(lto_elf_file_open): Handle offsets in arguments name@offest.

2009-11-04  Richard Guenther  <rguenther@suse.de>
            Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (plugin_file_info): Remove temp field.
	(cleanup_handler): Don't delete temporary objects.
	(claim_file_handler): Don't create temporary objects.


Co-Authored-By: Rafael Avila de Espindola <espindola@google.com>

From-SVN: r153903
2009-11-04 17:24:37 +00:00
Harsha Jagasia
43a8b70590 config.gcc (i[34567]86-*-*): Include xopintrin.h.
2009-11-04  Harsha Jagasia  <harsha.jagasia@amd.com>
            Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
        
        * config.gcc (i[34567]86-*-*): Include xopintrin.h.
        (x86_64-*-*): Ditto.
        * config/i386/xopintrin.h: New file, provide common x86 compiler
        intrinisics for XOP.
        * config/i386/cpuid.h (bit_XOP): Define XOP bit.
        * config/i386/x86intrin.h: Add XOP check and xopintrin.h.
        * config/i386/i386-c.c(ix86_target_macros_internal): Check
        ISA_FLAG for XOP. 
        * config/i386/i386.h(TARGET_XOP): New macro for XOP.
        * config/i386/i386.opt (-mxop): New switch for XOP support.
        * config/i386/i386.md (UNSPEC_XOP_UNSIGNED_CMP)
        (UNSPEC_XOP_TRUEFALSE)
        (UNSPEC_XOP_PERMUTE)
        (UNSPEC_FRCZ): Add new UNSPEC for XOP support.
        (PPERM_*): New constants for vpperm instruction.
        (xop_pcmov_<mode>): Add XOP conditional mov instructions.
        * config/i386/i386.c (OPTION_MASK_ISA_XOP_SET): New.
        (OPTION_MASK_ISA_XOP_UNSET): New.       
        (OPTION_MASK_ISA_XOP_UNSET): Change definition to
        depend on XOP.
        (ix86_handle_option): Handle -mxop.
        (isa_opts): Handle -mxop.
        (enum pta_flags): Add PTA_XOP.
        (override_options): Add XOP support.
        (print_operand): Add code for XOP compare instructions.
        (ix86_expand_sse_movcc): Extend for XOP conditional move
instruction.
        (ix86_expand_int_vcond): Extend for XOP compare instruction.

        (IX86_BUILTIN_VPCMOV): New for XOP intrinsic.
        (IX86_BUILTIN_VPCMOV_V2DI): Ditto.
        (IX86_BUILTIN_VPCMOV_V4SI): Ditto.
        (IX86_BUILTIN_VPCMOV_V8HI): Ditto.
        (IX86_BUILTIN_VPCMOV_V16QI): Ditto.
        (IX86_BUILTIN_VPCMOV_V4SF): Ditto.
        (IX86_BUILTIN_VPCMOV_V2DF): Ditto.

        (IX86_BUILTIN_VPCMOV256): Ditto.
        (IX86_BUILTIN_VPCMOV_V4DI256): Ditto.
        (IX86_BUILTIN_VPCMOV_V8SI256): Ditto.
        (IX86_BUILTIN_VPCMOV_V16HI256): Ditto.
        (IX86_BUILTIN_VPCMOV_V32QI256): Ditto.
        (IX86_BUILTIN_VPCMOV_V8SF256): Ditto.
        (IX86_BUILTIN_VPCMOV_V4DF256): Ditto.

        (IX86_BUILTIN_VPPERM): Ditto.

        (IX86_BUILTIN_VPMACSSWW): Ditto.
        (IX86_BUILTIN_VPMACSWW): Ditto.
        (IX86_BUILTIN_VPMACSSWD): Ditto.
        (IX86_BUILTIN_VPMACSWD): Ditto.
        (IX86_BUILTIN_VPMACSSDD): Ditto.
        (IX86_BUILTIN_VPMACSDD): Ditto.
        (IX86_BUILTIN_VPMACSSDQL): Ditto.
        (IX86_BUILTIN_VPMACSSDQH): Ditto.
        (IX86_BUILTIN_VPMACSDQL): Ditto.
        (IX86_BUILTIN_VPMACSDQH): Ditto.
        (IX86_BUILTIN_VPMADCSSWD): Ditto.
        (IX86_BUILTIN_VPMADCSWD): Ditto.

        (IX86_BUILTIN_VPHADDBW): Ditto.
        (IX86_BUILTIN_VPHADDBD): Ditto.
        (IX86_BUILTIN_VPHADDBQ): Ditto.
        (IX86_BUILTIN_VPHADDWD): Ditto.
        (IX86_BUILTIN_VPHADDWQ): Ditto.
        (IX86_BUILTIN_VPHADDDQ): Ditto.
        (IX86_BUILTIN_VPHADDUBW): Ditto.
        (IX86_BUILTIN_VPHADDUBD): Ditto.
        (IX86_BUILTIN_VPHADDUBQ): Ditto.
        (IX86_BUILTIN_VPHADDUWD): Ditto.
        (IX86_BUILTIN_VPHADDUWQ): Ditto.
        (IX86_BUILTIN_VPHADDUDQ): Ditto.
        (IX86_BUILTIN_VPHSUBBW): Ditto.
        (IX86_BUILTIN_VPHSUBWD): Ditto.
        (IX86_BUILTIN_VPHSUBDQ): Ditto.

        (IX86_BUILTIN_VPROTB): Ditto.
        (IX86_BUILTIN_VPROTW): Ditto.
        (IX86_BUILTIN_VPROTD): Ditto.
        (IX86_BUILTIN_VPROTQ): Ditto.
        (IX86_BUILTIN_VPROTB_IMM): Ditto.
        (IX86_BUILTIN_VPROTW_IMM): Ditto.
        (IX86_BUILTIN_VPROTD_IMM): Ditto.
        (IX86_BUILTIN_VPROTQ_IMM): Ditto.

        (IX86_BUILTIN_VPSHLB): Ditto.
        (IX86_BUILTIN_VPSHLW): Ditto.
        (IX86_BUILTIN_VPSHLD): Ditto.
        (IX86_BUILTIN_VPSHLQ): Ditto.
        (IX86_BUILTIN_VPSHAB): Ditto.
        (IX86_BUILTIN_VPSHAW): Ditto.
        (IX86_BUILTIN_VPSHAD): Ditto.
        (IX86_BUILTIN_VPSHAQ): Ditto.

        (IX86_BUILTIN_VFRCZSS): Ditto.
        (IX86_BUILTIN_VFRCZSD): Ditto.
        (IX86_BUILTIN_VFRCZPS): Ditto.
        (IX86_BUILTIN_VFRCZPD): Ditto.
        (IX86_BUILTIN_VFRCZPS256): Ditto.
        (IX86_BUILTIN_VFRCZPD256): Ditto.

        (IX86_BUILTIN_VPCOMEQUB): Ditto.
        (IX86_BUILTIN_VPCOMNEUB): Ditto.
        (IX86_BUILTIN_VPCOMLTUB): Ditto.
        (IX86_BUILTIN_VPCOMLEUB): Ditto.
        (IX86_BUILTIN_VPCOMGTUB): Ditto.
        (IX86_BUILTIN_VPCOMGEUB): Ditto.
        (IX86_BUILTIN_VPCOMFALSEUB): Ditto.
        (IX86_BUILTIN_VPCOMTRUEUB): Ditto.

        (IX86_BUILTIN_VPCOMEQUW): Ditto.
        (IX86_BUILTIN_VPCOMNEUW): Ditto.
        (IX86_BUILTIN_VPCOMLTUW): Ditto.
        (IX86_BUILTIN_VPCOMLEUW): Ditto.
        (IX86_BUILTIN_VPCOMGTUW): Ditto.
        (IX86_BUILTIN_VPCOMGEUW): Ditto.
        (IX86_BUILTIN_VPCOMFALSEUW): Ditto.
        (IX86_BUILTIN_VPCOMTRUEUW): Ditto.

        (IX86_BUILTIN_VPCOMEQUD): Ditto.
        (IX86_BUILTIN_VPCOMNEUD): Ditto.
        (IX86_BUILTIN_VPCOMLTUD): Ditto.
        (IX86_BUILTIN_VPCOMLEUD): Ditto.
        (IX86_BUILTIN_VPCOMGTUD): Ditto.
        (IX86_BUILTIN_VPCOMGEUD): Ditto.
        (IX86_BUILTIN_VPCOMFALSEUD): Ditto.
        (IX86_BUILTIN_VPCOMTRUEUD): Ditto.

        (IX86_BUILTIN_VPCOMEQUQ): Ditto.
        (IX86_BUILTIN_VPCOMNEUQ): Ditto.
        (IX86_BUILTIN_VPCOMLTUQ): Ditto.
        (IX86_BUILTIN_VPCOMLEUQ): Ditto.
        (IX86_BUILTIN_VPCOMGTUQ): Ditto.
        (IX86_BUILTIN_VPCOMGEUQ): Ditto.
        (IX86_BUILTIN_VPCOMFALSEUQ): Ditto.
        (IX86_BUILTIN_VPCOMTRUEUQ): Ditto.

        (IX86_BUILTIN_VPCOMEQB): Ditto.
        (IX86_BUILTIN_VPCOMNEB): Ditto.
        (IX86_BUILTIN_VPCOMLTB): Ditto.
        (IX86_BUILTIN_VPCOMLEB): Ditto.
        (IX86_BUILTIN_VPCOMGTB): Ditto.
        (IX86_BUILTIN_VPCOMGEB): Ditto.
        (IX86_BUILTIN_VPCOMFALSEB): Ditto.
        (IX86_BUILTIN_VPCOMTRUEB): Ditto.

        (IX86_BUILTIN_VPCOMEQW): Ditto.
        (IX86_BUILTIN_VPCOMNEW): Ditto.
        (IX86_BUILTIN_VPCOMLTW): Ditto.
        (IX86_BUILTIN_VPCOMLEW): Ditto.
        (IX86_BUILTIN_VPCOMGTW): Ditto.
        (IX86_BUILTIN_VPCOMGEW): Ditto.
        (IX86_BUILTIN_VPCOMFALSEW): Ditto.
        (IX86_BUILTIN_VPCOMTRUEW): Ditto.

        (IX86_BUILTIN_VPCOMEQD): Ditto.
        (IX86_BUILTIN_VPCOMNED): Ditto.
        (IX86_BUILTIN_VPCOMLTD): Ditto.
        (IX86_BUILTIN_VPCOMLED): Ditto.
        (IX86_BUILTIN_VPCOMGTD): Ditto.
        (IX86_BUILTIN_VPCOMGED): Ditto.
        (IX86_BUILTIN_VPCOMFALSED): Ditto.
        (IX86_BUILTIN_VPCOMTRUED): Ditto.

        (IX86_BUILTIN_VPCOMEQQ): Ditto.
        (IX86_BUILTIN_VPCOMNEQ): Ditto.
        (IX86_BUILTIN_VPCOMLTQ): Ditto.
        (IX86_BUILTIN_VPCOMLEQ): Ditto.
        (IX86_BUILTIN_VPCOMGTQ): Ditto.
        (IX86_BUILTIN_VPCOMGEQ): Ditto.
        (IX86_BUILTIN_VPCOMFALSEQ): Ditto.
        (IX86_BUILTIN_VPCOMTRUEQ): Ditto.

        (enum multi_arg_type): New enum for describing the various XOP
        intrinsic argument types.
        (bdesc_multi_arg): New table for XOP intrinsics.
        (ix86_init_mmx_sse_builtins): Add XOP intrinsic support.
        (ix86_expand_multi_arg_builtin): New function for creating XOP
        intrinsics.

        * config/i386/sse.md (sserotatemax): New mode attribute for XOP.
        (xop_pmacsww): Ditto.
        (xop_pmacssww): Ditto.
        (xop_pmacsdd): Ditto.
        (xop_pmacssdd): Ditto.
        (xop_pmacssdql): Ditto.
        (xop_pmacssdqh): Ditto.
        (xop_pmacsdql): Ditto.
        (xop_pmacsdql_mem): Ditto.
        (xop_mulv2div2di3_low): Ditto.
        (xop_pmacsdqh): Ditto.
        (xop_pmacsdqh_mem): Ditto.
        (xop_mulv2div2di3_high): Ditto.
        (xop_pmacsswd): Ditto.
        (xop_pmacswd): Ditto.
        (xop_pmadcsswd): Ditto.
        (xop_pmadcswd): Ditto.
        (xop_pcmov_<mode>): Ditto.
        (xop_pcmov_<mode>)256: Ditto.
        (xop_phaddbw): Ditto.
        (xop_phaddbd): Ditto.
        (xop_phaddbq): Ditto.
        (xop_phaddwd): Ditto.
        (xop_phaddwq): Ditto.
        (xop_phadddq): Ditto.
        (xop_phaddubw): Ditto.
        (xop_phaddubd): Ditto.
        (xop_phaddubq): Ditto.
        (xop_phadduwd): Ditto.
        (xop_phadduwq): Ditto.
        (xop_phaddudq): Ditto.
        (xop_phsubbw): Ditto.
        (xop_phsubwd): Ditto.
        (xop_phsubdq): Ditto.
        (xop_pperm): Ditto.
        (rotl<mode>3): Ditto.
        (rotr<mode>3): Ditto.
        (xop_rotl<mode>3): Ditto.
        (xop_rotr<mode>3): Ditto.
        (vrotr<mode>3): Ditto.
        (vrotl<mode>3): Ditto.
        (xop_vrotl<mode>3): Ditto.
        (vlshr<mode>3): Ditto.
        (vashr<mode>3): Ditto.
        (vashl<mode>3
        (xop_ashl<mode>3): Ditto.
        (xop_lshl<mode>3): Ditto.
        (ashlv16qi3): Ditto.
        (lshlv16qi3): Ditto.
        (ashrv16qi3): Ditto.
        (ashrv2di3): Ditto.
        (xop_frcz<mode>2): Ditto.
        (xop_vmfrcz<mode>2): Ditto.
        (xop_frcz<mode>2256): Ditto.    
        (xop_maskcmp<mode>3): Ditto.
        (xop_maskcmp_uns<mode>3): Ditto.
        (xop_maskcmp_uns2<mode>3): Ditto.
        (xop_pcom_tf<mode>3): Ditto.

        * doc/invoke.texi (-mxop): Add documentation.
        * doc/extend.texi (x86 intrinsics): Add XOP intrinsics.

        * gcc.target/i386/xop-check.h: New file.
        * gcc.target/i386/xop-hadduX.c: Ditto.
        * gcc.target/i386/xop-haddX.c: Ditto.
        * gcc.target/i386/xop-hsubX.c: Ditto.
        * gcc.target/i386/xop-imul32widen-vector.c: Ditto.
        * gcc.target/i386/xop-imul32widen-vector.c: Ditto.
        * gcc.target/i386/xop-pcmov2.c: Ditto.
        * gcc.target/i386/xop-pcmov.c: Ditto.
        * gcc.target/i386/xop-rotate1-vector.c: Ditto.
        * gcc.target/i386/xop-rotate2-vector.c: Ditto.
        * gcc.target/i386/xop-rotate3-vector.c: Ditto.
        * gcc.target/i386/xop-shift1-vector.c: Ditto.
        * gcc.target/i386/xop-shift2-vector.c: Ditto.
        * gcc.target/i386/xop-shift3-vector.c: Ditto.
        * gcc.target/i386/i386.exp:  Add check_effective_target_xop.
        * gcc.target/i386/sse-12.c: Update with new compile options to 
        activate and check xopintrin.h intrinsic file.
        * gcc.target/i386/sse-13.c: Ditto.
        * gcc.target/i386/sse-14.c: Ditto.
        * gcc.target/i386/sse-22.c: Ditto.
        * gcc.target/i386/sse-23.c: Ditto.
        * g++.dg/other/i386-2.C: Ditto.
        * g++.dg/other/i386-3.C: Ditto.
        * g++.dg/other/i386-5.C: Ditto.
        * g++.dg/other/i386-6.C: Ditto.
        


Co-Authored-By: Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>

From-SVN: r153901
2009-11-04 16:22:47 +00:00
Mark Mitchell
7d6ce94a23 re PR driver/11810 (gcc -pipe -ox.o -c x.c writes erroneous x.o on compile error)
PR driver/11810
	* gcc.c (SWITCHES_NEED_SPACES): Define to "o".
	* config/alpha/osf.h (SWITCHES_NEED_SPACES): Remove here.
	* config/mips/iris.h (SWITCHES_NEED_SPACES): Remove here.

From-SVN: r153900
2009-11-04 15:47:00 +00:00
Rafael Avila de Espindola
1cddcdcac5 lto-plugin.c (cleanup_handler): Don't cleanup if debugging.
2009-11-04  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (cleanup_handler): Don't cleanup if debugging.

From-SVN: r153899
2009-11-04 15:45:31 +00:00
Richard Earnshaw
57f5eef091 [multiple changes]
2009-11-04  Richard Earnshaw  <rearnsha@arm.com>

	PR target/40835
	* arm.md (peephole2 patterns for move and compare): New.

2009-11-04  Wei Guozhi  <carrot@google.com>

	PR target/40835
	* gcc.target/arm/pr40835: New testcase.

From-SVN: r153895
2009-11-04 14:09:55 +00:00
Nick Clifton
4003023f9d defaults.h (CONSTANT_ADDRESS_P): Provide a default definition.
* defaults.h (CONSTANT_ADDRESS_P): Provide a default definition.
        Make sure that it does not allow CONST_DOUBLEs.
        * doc/tm.texi (CONSTANT_ADDRESS_P): Update description.
        * config/avr/avr.h (CONSTANT_ADDRESS_P): Delete.
        * config/bfin/bfin.h (CONSTANT_ADDRESS_P): Delete.
        * config/cris/cris.h (CONSTANT_ADDRESS_P): Delete.
        * config/fr30/fr30.h (CONSTANT_ADDRESS_P): Delete.
        * config/frv/frv.h (CONSTANT_ADDRESS_P): Delete.
        * config/m32c/m32c.h (CONSTANT_ADDRESS_P): Delete.
        * config/m68hc11/m68hc11.h (CONSTANT_ADDRESS_P): Delete.
        * config/mep/mep.h (CONSTANT_ADDRESS_P): Delete.
        * config/mn10300/mn10300.h (CONSTANT_ADDRESS_P): Delete.
        * config/moxie/moxie.h (CONSTANT_ADDRESS_P): Delete.
        * config/pdp11/pdp11.h (CONSTANT_ADDRESS_P): Delete.
        * config/picochip/picochip.h (CONSTANT_ADDRESS_P): Delete.
        * config/score/score.h (CONSTANT_ADDRESS_P): Delete.
        * config/stormy16/stormy16.h (CONSTANT_ADDRESS_P): Delete.

From-SVN: r153894
2009-11-04 11:06:36 +00:00
Richard Biener
92fcbf95c1 re PR tree-optimization/41919 (optimized code with -O2 or -O3 gives strange result)
2009-11-04  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/41919
	* tree-vrp.c (test_for_singularity): Properly compare values.

	* gcc.c-torture/execute/pr41919.c: New testcase.

From-SVN: r153893
2009-11-04 10:35:04 +00:00
Revital Eres
0cf7986c82 Another fix to the misaligned store vectorizer patch
From-SVN: r153892
2009-11-04 10:22:22 +00:00
Richard Guenther
fbd4382774 re PR tree-optimization/41919 (optimized code with -O2 or -O3 gives strange result)
2009-11-04  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/41919
	* tree-vrp.c (test_for_singularity): Properly compare values.

	* gcc.c-torture/execute/pr41919.c: New testcase.

From-SVN: r153891
2009-11-04 10:18:33 +00:00
Maxim Kuvyrkov
db5e2d51eb [multiple changes]
2009-11-04  Maxim Kuvyrkov  <maxim@codesourcery.com>

	PR target/41302
	* config/m68k/m68k.c (m68k_reg_present_p): New static function.
	(m68k_ok_for_sibcall_p): Handle different result return locations.

2009-11-04  Carlos O'Donell  <carlos@codesourcery.com>

	PR target/41302
	* gcc.target/m68k/pr41302.c: New test.

From-SVN: r153890
2009-11-04 09:57:55 +00:00
Richard Guenther
e3b8749b11 c-opts.c (c_common_post_options): Move LTO option processing code ...
2009-11-04  Richard Guenther  <rguenther@suse.de>

	* c-opts.c (c_common_post_options): Move LTO option processing
	code ...
	* opts.c (decode_options): ... here.

	fortran/
	* options.c (gfc_post_options): Rely on common code processing
	LTO options.  Only enable -fwhole-file here.

From-SVN: r153889
2009-11-04 09:40:15 +00:00
Jakub Jelinek
00ffc97dfa c-common.c (fold_offsetof_1): Use %wd instead of HOST_WIDE_INT_PRINT_DEC.
* c-common.c (fold_offsetof_1): Use %wd instead of
	HOST_WIDE_INT_PRINT_DEC.

From-SVN: r153887
2009-11-04 08:26:30 +01:00
GCC Administrator
4999625e0f Daily bump.
From-SVN: r153886
2009-11-04 00:16:51 +00:00
Maciej W. Rozycki
bfd4796379 linux.h (TARGET_OS_CPP_BUILTINS): Don't define __pic__ or __PIC__.
* config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Don't define
	__pic__ or __PIC__.

From-SVN: r153883
2009-11-04 00:07:24 +00:00
Maciej W. Rozycki
45f681502f config.gcc (vax-*-linux*): Keep the original contents of tmake_file while adding vax/t-linux.
* config.gcc (vax-*-linux*): Keep the original contents of
	tmake_file while adding vax/t-linux.

From-SVN: r153882
2009-11-04 00:05:53 +00:00
Jason Merrill
9a6f7249ea re PR c++/36959 (C++ front-end causing a static inline function to be emitted)
PR c++/36959
	* decl2.c (cxx_callgraph_analyze_expr): Don't reference a function
	just because a static variable in it is needed unless -frepo.

From-SVN: r153878
2009-11-03 18:02:41 -05:00
Eric Botcazou
d809253a56 re PR target/10127 (-fstack-check let's program crash)
PR target/10127
	PR ada/20548
	* expr.h (STACK_CHECK_PROBE_INTERVAL): Delete.
	(STACK_CHECK_PROBE_INTERVAL_EXP): New macro.
	(STACK_CHECK_MOVING_SP): Likewise.
	* system.h (STACK_CHECK_PROBE_INTERVAL): Poison it.
	* doc/tm.texi (Stack Checking): Delete STACK_CHECK_PROBE_INTERVAL.
	Document STACK_CHECK_PROBE_INTERVAL_EXP and STACK_CHECK_MOVING_SP.
	* doc/md.texi (Standard Pattern Names): Tweak entry of CHECK_STACK.
	Document PROBE_STACK.
	* explow.c (anti_adjust_stack_and_probe): New function.
	(allocate_dynamic_stack_space): Do not directly allocate space if
	STACK_CHECK_MOVING_SP, instead invoke above function.
	(emit_stack_probe): Handle probe_stack insn.
	(PROBE_INTERVAL): New macro.
	(STACK_GROW_OPTAB): Likewise.
	(STACK_GROW_OFF): Likewise.
	(probe_stack_range): Use Pmode and memory_address consistently.  Fix
	loop condition in the small constant case.  Rewrite in the general
	case to be immune to wraparounds.  Make sure the address of probes
	is valid.  Try to use [base + disp] addressing mode if possible.
	* ira.c (setup_eliminable_regset): Set frame_pointer_needed if stack
	checking is enabled and STACK_CHECK_MOVING_SP.
	* rtlanal.c (may_trap_p_1) <MEM>: If stack checking is enabled,
	return 1 for volatile references to the stack pointer.
	* tree.c (build_common_builtin_nodes): Do not set ECF_NOTHROW on
	__builtin_alloca if stack checking is enabled.
	* unwind-dw2.c (uw_identify_context): Take into account whether the
	context is that of a signal frame or not.
	* config/i386/linux.h (STACK_CHECK_MOVING_SP): Define to 1.
	* config/i386/linux64.h (STACK_CHECK_MOVING_SP): Likewise.

From-SVN: r153877
2009-11-03 22:49:37 +00:00
Jakub Jelinek
24d179b4c7 re PR rtl-optimization/41917 (Strange athrithmetic result with -O3)
PR rtl-optimization/41917
	* rtlanal.c (num_sign_bit_copies1) <case UMOD>: If sign bit of second
	operand isn't known to be 0, return 1.

	* gcc.c-torture/execute/pr41917.c: New test.

From-SVN: r153874
2009-11-03 23:36:39 +01:00
Uros Bizjak
0b94d8b285 pr41900.c: Make test compile only.
* gcc.target/i386/pr41900.c: Make test compile only.  Scan assembler
	dump to not include "call *%esp".

From-SVN: r153871
2009-11-03 22:33:26 +01:00
Richard Sandiford
791c344bc6 mips.md: Fix typos.
gcc/
	* config/mips/mips.md: Fix typos.

From-SVN: r153870
2009-11-03 21:28:48 +00:00
Richard Sandiford
8d0239334c invoke.texi: Fix typo.
gcc/
	* doc/invoke.texi: Fix typo.

From-SVN: r153869
2009-11-03 21:25:49 +00:00
Jason Merrill
e58793e86f re PR c++/39786 (Qualified name lookup through different numbers of using directives)
PR c++/39786
	* g++.dg/lookup/using22.C: New.

From-SVN: r153865
2009-11-03 15:52:30 -05:00