Commit Graph

96740 Commits

Author SHA1 Message Date
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
Jason Merrill
c5d3d0ba3f re PR c++/41876 (Parse problems with catch)
PR c++/41876
	* parser.c (cp_parser_type_specifier_seq): Rename is_condition to
	is_declaration.
	(cp_parser_exception_declaration): Pass true.
	(cp_parser_omp_for_loop): Likewise.

From-SVN: r153864
2009-11-03 15:52:21 -05:00
Jason Merrill
aa9b756937 re PR c++/41927 ([C++0x] Spurious warning with enable_if and default function template argument)
PR c++/41927
	* typeck.c (build_x_binary_op): Don't do warn_parentheses
	if we're in a SFINAE context.

From-SVN: r153863
2009-11-03 13:43:06 -05:00
Jason Merrill
a638b03424 re PR c++/41815 ([C++0x] GCC wrongly treats rvalues of non-class type cv-qualified)
PR c++/41815
	* call.c (build_call_a): Strip cv-quals from rvalue result.

From-SVN: r153862
2009-11-03 13:42:59 -05:00
David Krauss
6e924e079b re PR libstdc++/41351 (std::rotate on RAI does not conform to ISO complexity requirement)
2009-11-03  David Krauss  <potswa@mac.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41351
	* include/bits/stl_algo.h (__rotate(_RandomAccessIterator,
	_RandomAccessIterator, _RandomAccessIterator,
	random_access_iterator_tag)): Rewrite to use only std::swap in
	general and std::copy/std::copy_backward when safe.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r153860
2009-11-03 18:16:34 +00:00
Paul Brook
156e423608 neon.ml (vectype): Add T_floatSF.
2009-11-03  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/neon.ml (vectype): Add T_floatSF.
	(string_of_vectype): Ditto.
	* config/arm/neon-gen.ml (signed_ctype): Add T_floatSF.
	(deftypes): Use float for float32_t.
	* config/arm/arm_neon.h: Regenerate.

From-SVN: r153858
2009-11-03 17:58:59 +00:00
Jason Merrill
60d21717a2 re PR c++/40944 ([C++0x] rejects well-formed code: SFINAE, decltype, function call)
PR c++/40944
	* call.c (initialize_reference): Add complain parm.
	* typeck.c (convert_for_initialization): Pass it.
	* decl.c (grok_reference_init): Likewise.
	* cp-tree.h: Declare it.

From-SVN: r153856
2009-11-03 12:11:18 -05:00
Jason Merrill
2e32c99e12 re PR c++/40687 ([C++0x]: error with auto and 7.1.6.4/7 in N2914)
PR c++/40687
	* pt.c (do_auto_deduction): Diagnose inconsistent deduction.

From-SVN: r153855
2009-11-03 12:11:08 -05:00
Tobias Burnus
64c2f8defe re PR fortran/41907 (465.tonto in SPEC CPU 2006 runtime failure)
2009-11-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41907
        * trans-expr.c (gfc_conv_procedure_call): Fix presence check
        for optional arguments.

2009-11-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41907
        * gfortran.dg/missing_optional_dummy_6.f90: New test.

From-SVN: r153854
2009-11-03 17:51:52 +01:00
Nick Clifton
9595a419c6 predicates.md (rx_store_multiple_vector): Reverse order of expected registers.
* config/rx/predicates.md (rx_store_multiple_vector): Reverse
        order of expected registers.
        (rx_load_multiple_vector): Likewise.
        (rx_rtsd_vector): Likewise.
        * config/rx/rx.c (rx_cpu_type): New variable.
        (rx_print_operand): Fix bug printing 64-bit constant values.
        (rx_emit_stack_pushm): Reverse order of pushed registers.
        (gen_rx_store_vector): Likewise.
        (is_fast_interrupt_func): Only accept "fast_interrupt" as the
        attribute name.
        (is_exception_func): Rename to is_interrupt_func and only accept
        "interrupt" as the attribute name.
        (rx_get_stack_layout): Use new function name.
        (rx_func_attr_inlinable): Likewise.
        (rx_attribute_table): Remove "exception".
        (rx_expand_prologue): If necessary push the accumulator register
        in the prologue of interrupt functions.
        (rx_expand_epilogue): If necessary pop the accumulator.
        (rx_builtins): Add RX_BUILTIN_MVTIPL.
        (rx_expand_builtin_stz): Remove.
        (rx_expand_builtin_mvtipl): New function.
        (rx_init_builtins): Handle RX_BUILTIN_MVTIPL.
        (rx_expand_builtin): Likewise.
        (rx_enable_fpu): New variable.
        (rx_handle_option): Handle -fpu, -nofpu, -mcpu and -patch.
        * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Assert machine based
        on rx_cpu_type.  Define __RX_FPU_INSNS__ if FPU insns are allowed.
        (enum rx_cpu_types): Define.
        (ASM_SPEC): Pass -m32bit-doubles on to assembler.
        (INCOMING_FRAME_SP_OFFSET): Define.
        (ARG_POINTER_CFA_OFFSET): Define.
        (FRAME_POINTER_CFA_OFFSET): Define.
        (OVERRIDE_OPTIONS): Enable fast math if RX FPU insns are enabled.
        (ALLOW_RX_FPU_INSNS): Define.
        * config/rx/rx.md: Test ALLOW_RX_FPU_INSNS instead of
        fast_math_flags_set_p.
        (UNSPEC_BUILTIN_MVTIPL): Define.
        (revl): Rename to bswapsi2.
        (bswaphi2): New pattern.
        (mvtachi): Mark as volatile because it uses a register unknown to
        GCC.
        (mvtaclo): Likewise.
        (racw): Likewise.
        (mvtc): Remove clobber of cc0.
        (mvtcp): Delete.
        (opecp): Delete.
        * config/rx/rx.opt (mieee): Remove.
        (fpu): Add.
        (nofpu): Add.
        (mcpu=): Add.
        (patch=): Add.
        (msave-acc-in-interrupts): Add.
        * config/rx/t-rx (MULTILIB_OPTIONS): Change default to 64bit
        doubles.
        (MULTILIB_DIRS): Likewise.
        (MULTILIB_MATCHES): Treat -fpu as an alias for -m32bit-doubles.
        * doc/extend.texi: Remove description of "exception" function
        attribute.
        * doc/invoke.texi: Document -fpu, -nofpu, -mcpu=, -patch= and
        -msave-acc-in-interrupts options.

        * gcc.target/rx/builtins,c: Remove redundant tests.
        Add test of MVTIPL instruction.
        * gcc.target/rx/interrupts.c: Use fast_interrupt and interrupt
        function attributes.  Add -msave-acc-in-interrupts option to the
        command line.

Co-Authored-By: Kevin Buettner <kevinb@redhat.com>

From-SVN: r153853
2009-11-03 16:25:29 +00:00
Andrew Stubbs
48d3ee1d0a pr36191.C: Don't run with -fomit-frame-pointer on sh, m68k and fido.
* g++.dg/torture/pr36191.C: Don't run with -fomit-frame-pointer on
	sh, m68k and fido.

Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>

From-SVN: r153852
2009-11-03 15:21:55 +00:00
Dodji Seketeli
ad5ed9618b Move builtin-offsetof.c test
PR c++/38699
	* c-c++-common/dfp/builtin-offsetof.c: Moved to ...
	* c-c++-common/builtin-offsetof.c: ... here.

From-SVN: r153848
2009-11-03 14:20:08 +01:00
Richard Guenther
b56973d1cd c-common.c (fold_offsetof_1): Use HOST_WIDE_INT_PRINT_DEC.
2009-11-03  Richard Guenther  <rguenther@suse.de>

	* c-common.c (fold_offsetof_1): Use HOST_WIDE_INT_PRINT_DEC.

From-SVN: r153846
2009-11-03 11:45:00 +00:00
Uros Bizjak
90bc4002b6 * gcc.target/i386/pr41900.c (main): Add missing volatile.
From-SVN: r153845
2009-11-03 11:59:33 +01:00
Dodji Seketeli
61c3c49040 re PR c++/38699 (ICE using offsetof with pointer and array accesses)
Fix PR c++/38699

gcc/ChangeLog:

	PR c++/38699
	* c-common.c (fold_offsetof_1): Issue errors when the
	member designator of the offsetoff expression is not legitimate.

gcc/testsuite/ChangeLog:

	* c-c++-common/dfp/builtin-offsetof.c: New test.
	* g++.dg/other/offsetof6.C: Likewise.

From-SVN: r153843
2009-11-03 11:44:36 +01:00
Uros Bizjak
9d1a984546 i386.md (*call_value_1_rex64_ms_sysv): Use register names instead of numerical constants.
* config/i386/i386.md (*call_value_1_rex64_ms_sysv): Use register
	names instead of numerical constants.
	(sse_prologue_save): Ditto.
	(*sse_prologue_save_insn): Ditto.

From-SVN: r153840
2009-11-03 09:26:02 +01:00
Uros Bizjak
55a19d494b re PR target/41900 (call *%esp shouldn't be generated because of CPU errata)
PR target/41900
	* config/i386/i386.h (ix86_arch_indices) <X86_ARCH_CALL_ESP>: New.
	(TARGET_CALL_ESP): New define.
	* config/i386/i386.c (initial_ix86_tune_features): Initialize
	X86_ARCH_CALL_ESP.
	* config/i386/i386.md 
	(*call_pop_1_esp, *call_1_esp, *call_value_pop_1_esp,
	*call_value_1_esp): Rename from *call_pop_1, *call_1,
	*call_value_pop_1 and *call_value_1.  Depend on TARGET_CALL_ESP.
	(*call_pop_1, *call_1, *call_value_pop_1, *call_value_1):
	New patterns, use "lsm" as operand 1 constraint.
	* config/i386/predicates.md (call_insn_operand): Depend on 
	index_register_operand for !TARGET_CALL_ESP to avoid %esp register.

testsuite/ChangeLog:

	PR target/41900
	* gcc.target/i386/pr41900.c: New test.

From-SVN: r153838
2009-11-03 08:53:05 +01:00
Andy Hutchinson
b511afdd35 *gcc.c-torture/execute/pr40668.c: Correct for 16bit int size.
From-SVN: r153835
2009-11-03 03:24:38 +00:00
Benjamin Kosnik
c36abf0326 future: Use base class with nested types.
2009-11-02  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/future: Use base class with nested types.
	(__future_base): New.
	(__future_base::_Result_base): From _Future_result_base.
	(__future_base::_Result): From _Future_result.
	(__future_base::_Move_result): From _Move_future_result.
	(__future_base::_Ptr): From _Future_ptr.
	(__future_base::_State): From _Future_state.
	(__basic_future): From _Future_impl.
	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust line
	numbers.
	* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Same.
	* testsuite/30_threads/shared_future/cons/assign_neg.cc: Same.
	* testsuite/30_threads/unique_future/cons/assign_neg.cc: Same.
	* testsuite/30_threads/unique_future/cons/copy_neg.cc: Same.
	* testsuite/30_threads/promise/cons/assign_neg.cc: Same.
	* testsuite/30_threads/promise/cons/copy_neg.cc: Same.

From-SVN: r153834
2009-11-03 00:47:48 +00:00
Benjamin Kosnik
c393f55941 MAINTAINERS: Add Jonathan Wakely under Various Maintainers...
2009-11-02  Benjamin Kosnik  <bkoz@redhat.com>

	* MAINTAINERS: Add Jonathan Wakely under Various Maintainers, move
	Phil Edwards to Write-After Approval.

From-SVN: r153833
2009-11-03 00:40:57 +00:00
GCC Administrator
34c31d44d3 Daily bump.
From-SVN: r153832
2009-11-03 00:16:42 +00:00
Dodji Seketeli
41dce858ff re PR testsuite/41856 (g++.dg/lookup/extern-c-redecl[3,4] .C should be target specific)
Fix PR c++/41856

	PR c++/41856
	* g++.dg/lookup/extern-c-redecl3.C: Make the test x86
	only.
	* g++.dg/lookup/extern-c-redecl4.C: Likewise.

From-SVN: r153829
2009-11-02 23:58:07 +01:00