Commit Graph

111831 Commits

Author SHA1 Message Date
Steven G. Kargl
40ebf57b67 check.c (gfc_check_c_sizeof): Remove redundant word.
2011-09-20  Steven G. Kargl  <kargl@gcc.gnu.org>

	* check.c (gfc_check_c_sizeof): Remove redundant word.

From-SVN: r179009
2011-09-20 16:27:56 +00:00
Ian Lance Taylor
3c3659076b Emit compiler errors for unused values.
From-SVN: r179008
2011-09-20 15:50:34 +00:00
Simon Baldwin
0274cf27fd module.c (gfc_dump_module): Omit timestamp from output.
2011-09-16  Simon Baldwin  <simonb@google.com>

	* module.c (gfc_dump_module): Omit timestamp from output.

From-SVN: r179007
2011-09-20 09:19:23 -04:00
Ira Rosen
f0f6b204a8 slp-pr50413.cc: Don't run the test.
* g++.dg/vect/slp-pr50413.cc: Don't run the test.  Remove main ()
	and get_bit ().

From-SVN: r178999
2011-09-20 06:30:19 +00:00
Terry Guo
77d1f68249 arm-arches.def: Add armv6s-m.
* config/arm/arm-arches.def: Add armv6s-m.
        * config/arm/arm-tables.opt: Regenerate.

From-SVN: r178998
2011-09-20 02:05:24 +00:00
Wei Guozhi
0323000245 re PR rtl-optimization/49452 (comp-goto-2.c regresses in testing)
PR rtl-optimization/49452
	* postreload.c (reload_combine): Invalidate use information when across
	volatile insn.

From-SVN: r178995
2011-09-20 00:57:39 +00:00
GCC Administrator
e31f8881c8 Daily bump.
From-SVN: r178993
2011-09-20 00:19:33 +00:00
Ian Lance Taylor
a6bede1bb2 Fix handling of mutually recursive named types.
From-SVN: r178989
2011-09-19 23:44:39 +00:00
Maxim Kuvyrkov
4ec5affac9 haifa-sched.c (has_edge_p, [...]): Remove maintenance overhead.
* haifa-sched.c (has_edge_p, prev_non_location_insn, check_cfg):
	Remove maintenance overhead.
	(haifa_sched_init, sched_finish): Update.

From-SVN: r178987
2011-09-19 21:26:26 +00:00
Uros Bizjak
b5344bf45d mmx.md (*mov<mode>_internal_rex64): Use if_then_else RTX to calculate unit, prefix_rep and prefix_data16 attributes.
* config/i386/mmx.md (*mov<mode>_internal_rex64): Use if_then_else RTX
	to calculate unit, prefix_rep and prefix_data16 attributes.
	(*mov<mode>_internal): Ditto for unit attribute.
	(*movv2sf_internal_rex64): Ditto for unit and prefix_rep attributes.
	(*movv2sf_internal): Ditto.
	* config/i386/sse.md (VI1248_256): Remove mode iterator.
	(avx2_eq<mode>3): Use VI_256 instead of VI1248_256.
	(*avx2_eq<mode>3): Ditto.
	(avx2_gt<mode>3): Ditto.

From-SVN: r178982
2011-09-19 20:21:54 +02:00
Uros Bizjak
52325f2ca5 i386.md (maxmin): New code iterator.
* config/i386/i386.md (maxmin): New code iterator.
	* config/i386/sse.md (<maxmin:code><mode>3): Macroize expander
	from <umaxmin:code><mode>3 and <smaxmin:code><mode>3 using maxmin
	code iterator.
	(*avx2_<maxmin:code><mode>3): Macroize isn from
	*avx2_<umaxmin:code><mode>3 and *avx2_<smaxmin:code><mode>3 using
	maxmin code iterator.
	(<smaxmin:code><VI124_128:mode>3): Merge with <smaxmin:code>v8hi3.
	(<umaxmin:code><VI124_128:mode>3): Merge with umaxv4si3 and
	<umaxmin:code>v16qi3.

From-SVN: r178981
2011-09-19 19:13:18 +02:00
Alan Modra
0b5f3ce78f Patch for 50341
Co-Authored-By: Michael Meissner <meissner@linux.vnet.ibm.com>

From-SVN: r178977
2011-09-19 16:27:57 +00:00
Jakub Jelinek
5a1357fbe0 sse.md (*sse4_1_extractps): Change into define_insn_and_split...
* config/i386/sse.md (*sse4_1_extractps): Change into
	define_insn_and_split, add =x 0 n and =x x n alternatives
	and split them after reload.

From-SVN: r178976
2011-09-19 18:14:20 +02:00
Ian Bolton
dac8a1db73 20100906-1.c: Use -fno-short-enums option for "target arm_eabi".
2011-09-19  Ian Bolton  <ian.bolton@arm.com>

	* gcc.dg/20100906-1.c: Use -fno-short-enums option for
	"target arm_eabi".

From-SVN: r178975
2011-09-19 14:33:02 +00:00
Alexandre Oliva
d396f89992 * tree.h (TREE_NOT_CHECK4): Rename from bogus NON_TREE_CHECK4.
From-SVN: r178972
2011-09-19 12:32:41 +00:00
Alexandre Oliva
a52a87c3ab * emit-rtl.c (copy_insn_1): Do not copy DEBUG_EXPRs.
From-SVN: r178971
2011-09-19 12:32:21 +00:00
Alexandre Oliva
0e871c15e0 decl.c (annotate_value): Look up expression for insertion in the cache at the end.
* gcc-interface/decl.c (annotate_value): Look up expression for
insertion in the cache at the end.

From-SVN: r178970
2011-09-19 12:32:02 +00:00
Paolo Carlini
12bfa8bd29 re PR libstdc++/40856 (numeric_limits not specialized for __int128_t or __uint128_t)
2011-09-19  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40856
	* include/std/limits (numeric_limits<__int128_t>,
	numeric_limits<__uint128_t>): Add.
	* src/limits.cc:Define.
	* config/abi/pre/gnu.ver: Export.
	* include/ext/typelist.h (_GLIBCXX_TYPELIST_CHAIN16, 20): Add.
	* testsuite/util/testsuite_common_types.h (integral_types_gnu): Add
	(limits_tl): Use it.
	* testsuite/18_support/numeric_limits/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/18_support/numeric_limits/40856.cc: New.
	* testsuite/18_support/numeric_limits/dr559.cc: Extend.
	* testsuite/18_support/numeric_limits/lowest.cc: Likewise.
	* testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
	line numbers.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
	Likewise.
	* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
	Likewise.
	* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
	Likewise.

From-SVN: r178969
2011-09-19 11:52:49 +00:00
Ira Rosen
7deb61cd7f re PR tree-optimization/50413 (Incorrect instruction is used to shift value of 128 bit xmm0 registrer)
PR tree-optimization/50413
        * tree-vect-data-refs.c (vect_analyze_data_refs): Fail to
        vectorize a basic block if one of its data-refs can't be
        analyzed.

From-SVN: r178968
2011-09-19 11:46:00 +00:00
Paul Brook
a3627303ee predicates.md (shift_amount_operand): Check constant shift count is in range.
2011-09-19  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/predicates.md (shift_amount_operand): Check constant
	shift count is in range.
	(const_shift_operand): Remove.

From-SVN: r178966
2011-09-19 09:11:56 +00:00
Arnaud Charlet
1e6a52b48c Update dependencies.
From-SVN: r178964
2011-09-19 11:03:43 +02:00
Arnaud Charlet
a3068ca6e7 [multiple changes]
2011-09-19  Steve Baird  <baird@adacore.com>

	* snames.ads-tmpl: Move declaration of Name_Annotate into range of
	configuration pragma names so that Is_Configuration_Pragma_Name
	will return True for Name_Annotate.  Make corresponding change in
	Pragma_Id enumeration type.  This is needed to allow an Annotate
	pragma to occur in a configuration pragma file (typically,
	a gnat.adc file).
	* gnat_ugn.texi: Add Annotate to the list of configuration pragmas.
	* gnat_rm.texi: Note that pragma Annotate may be used as a
	configuration pragma.

2011-09-19  Ed Schonberg  <schonberg@adacore.com>

	* a-cbmutr.adb, a-cbmutr.ads, a-cimutr.adb, a-cimutr.ads,
	a-comutr.adb, a-comutr.ads: Add iterator machinery for multiway trees.

2011-09-19  Yannick Moy  <moy@adacore.com>

	* exp_alfa.adb, exp_alfa.ads (Expand_Alfa_N_In): New function
	for expansion of set membership.
	(Expand_Alfa): Call expansion for N_In and N_Not_In nodes.
	* exp_ch4.adb, exp_ch4.ads (Expand_Set_Membership): Make procedure
	visible for use in Alfa expansion.
	* sem_ch5.adb (Analyze_Iterator_Specification): Introduce loop
	variable in Alfa mode.

2011-09-19  Thomas Quinot  <quinot@adacore.com>

	* s-osinte-darwin.ads: Change SIGADAABRT on Darwin to SIGABRT.

2011-09-19  Thomas Quinot  <quinot@adacore.com>

	* exp_ch9.adb: Minor reformatting.

2011-09-19  Hristian Kirtchev  <kirtchev@adacore.com>

	* freeze.adb (Build_Renamed_Body): Generic subprograms
	instantiations cannot be poperly inlined by the compiler, do
	not set the Body_To_Inline attribute in such cases.
	* sem_ch12.adb (Analyze_Subprogram_Instantiation): Inherit all
	inlining-related flags from the generic subprogram declaration.

2011-09-19  Thomas Quinot  <quinot@adacore.com>

	* exp_dist.adb, rtsfind.ads, sem_util.adb, sem_util.ads
	(Build_Stub_Type): Remove, instead copy components from
	System.Partition_Interface.RACW_Stub_Type.
	(RPC_Receiver_Decl): Remainder of code from old Build_Stub_Type routine.
	(Copy_Component_List): New subprogram.

2011-09-19  Yannick Moy  <moy@adacore.com>

	* lib-xref.adb (Generate_Reference): Ignore references to
	constants in Standard.

From-SVN: r178962
2011-09-19 11:03:03 +02:00
Arnaud Charlet
e7fceebce6 [multiple changes]
2011-09-19  Robert Dewar  <dewar@adacore.com>

	* err_vars.ads, errout.ads: Minor reformatting.

2011-09-19  Robert Dewar  <dewar@adacore.com>

	* aspects.ads (Impl_Defined_Aspects): New array
	* lib-writ.adb (No_Dependences): New name for No_Dependence
	* restrict.adb (No_Dependences): New name for No_Dependence
	(Check_Restriction_No_Specification_Of_Aspect): New
	procedure.
	(Set_Restriction_No_Specification_Of_Aspect): New procedure
	(Restricted_Profile_Result): New variable
	(No_Specification_Of_Aspects): New variable
	(No_Specification_Of_Aspect_Warning): New variable
	* restrict.ads (No_Dependences): New name for No_Dependence
	(Check_Restriction_No_Specification_Of_Aspect): New procedure
	(Set_Restriction_No_Specification_Of_Aspect): New procedure
	* s-rident.ads: Add restriction
	No_Implementation_Aspect_Specifications, this is also added to
	the No_Implementation_Extensions profile.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Check
	No_Implementation_Defined_Aspects
	(Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
	* sem_prag.adb (Analyze_Aspect_Specifications): Check
	No_Implementation_Aspects
	(Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
	* snames.ads-tmpl (Name_No_Specification_Of_Aspect): New name

2011-09-19  Yannick Moy  <moy@adacore.com>

	* lib-xref.adb (Generate_Reference): Take into account multiple
	renamings for Alfa refs.

2011-09-19  Thomas Quinot  <quinot@adacore.com>

	* g-socthi-mingw.adb: Minor reformatting.

2011-09-19  Yannick Moy  <moy@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Set tagged type
	expansion to False in mode Alfa

2011-09-19  Pascal Obry  <obry@adacore.com>

	* mingw32.h: Remove obsolete code needed for old versions
	of MingW.

From-SVN: r178959
2011-09-19 10:31:55 +02:00
Robert Dewar
e5a163fc25 errout.ads: Minor reformatting.
2011-09-19  Robert Dewar  <dewar@adacore.com>

	* errout.ads: Minor reformatting.

From-SVN: r178958
2011-09-19 10:26:39 +02:00
Arnaud Charlet
6d7e5c5461 [multiple changes]
2011-09-19  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): When the expression
	function is transformed into a declaration and a body, insert
	body at the end of the declarative part, to prevent premature
	freeze actions, and preserve original specification in the
	subprogram declaration.

2011-09-19  Vincent Celier  <celier@adacore.com>

	* projects.texi: Minor editing.

From-SVN: r178957
2011-09-19 10:25:34 +02:00
Arnaud Charlet
99ba07a3b0 [multiple changes]
2011-09-19  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb, lib-writ.ads, s-restri.ads, sem_ch6.adb,
	exp_aggr.adb: Minor reformatting.

2011-09-19  Yannick Moy  <moy@adacore.com>

	* lib-xref.adb (Generate_Reference): Change entity referenced
	to underlying object if any, or else reference to the HEAP.

From-SVN: r178956
2011-09-19 10:21:37 +02:00
GCC Administrator
96b25c42a6 Daily bump.
From-SVN: r178950
2011-09-19 00:19:17 +00:00
Eric Botcazou
3903f80430 re PR target/50091 (-fstack-check generates wrong assembly)
PR target/50091
	* config/rs6000/rs6000.md (probe_stack): Use explicit operand.
	* config/rs6000/rs6000.c (output_probe_stack_range): Likewise.

Co-Authored-By: Iain Sandoe <developer@sandoe-acoustics.co.uk>

From-SVN: r178944
2011-09-18 22:00:52 +00:00
H.J. Lu
e0cdd8d4c2 Remove tmp from bmiintrin.h and tbmintrin.h.
2011-09-18  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/bmiintrin.h: Remove tmp.
	* config/i386/tbmintrin.h: Likewise.

From-SVN: r178943
2011-09-18 08:39:18 -07:00
Dominique d'Humieres
8953b0aeed re PR testsuite/50435 (FAIL: gcc.dg/vect/bb-slp-25.c (-flto)? scan-tree-dump-times slp "basic block vectorized using SLP" 1)
PR testsuite/50435
	* gcc.dg/vect/bb-slp-25.c: Add an if to avoid loop vectorization.
	Fix underscores around restrict.


Co-Authored-By: Ira Rosen <ira.rosen@linaro.org>

From-SVN: r178942
2011-09-18 11:41:43 +00:00
Ira Rosen
0e93a64e87 re PR tree-optimization/50414 (gfortran -Ofast SIGSEGV in store_constructor)
PR tree-optimization/50414
        * tree-vect-slp.c (vect_get_constant_vectors): Handle MAX_EXPR
        and MIN_EXPR.

From-SVN: r178941
2011-09-18 11:36:15 +00:00
Ira Rosen
deaf836ccf re PR tree-optimization/50412 (gfortran -Ofast ICE in vect_do_peeling_for_loop_bound)
PR tree-optimization/50412
        * tree-vect-data-refs.c (vect_analyze_group_access): Fail for
        acceses that require epilogue loop if vectorizing outer loop.

From-SVN: r178940
2011-09-18 08:59:52 +00:00
David S. Miller
ab0ca06f70 sparc.c (niagara2_costs): Adjust integer divide costs.
* gcc/config/sparc/sparc.c (niagara2_costs): Adjust integer
	divide costs.
	(niagara3_costs): New.
	(sparc_option_override): Use it.
	* gcc/config/sparc/niagara2.md: Adjust with more accurate
	Niagara-3 reservations.

From-SVN: r178938
2011-09-17 18:36:55 -07:00
GCC Administrator
b38fb6fa57 Daily bump.
From-SVN: r178937
2011-09-18 00:18:39 +00:00
Paolo Carlini
6d585f0114 re PR libstdc++/50441 ([C++0x] <type_traits> is missing GNU extension types)
2011-09-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50441
	* acinclude.m4 ([GLIBCXX_ENABLE_INT128_FLOAT128]): Add.
	* configure.ac: Call it.
	* include/std/type_traits (__is_integral_helper<__int128_t>,
	__is_integral_helper<__uint128_t>,
	__is_floating_point_helper<__float128>,
	__make_unsigned<__int128_t>, __make_signed<__uint128_t>): Add.
	* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Extend.
	* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
	* testsuite/20_util/is_signed/value.cc: Likewise.
	* testsuite/20_util/is_unsigned/value.cc: Likewise.
	* testsuite/20_util/is_integral/value.cc: Likewise.
	* testsuite/20_util/is_floating_point/value.cc: New.
	* testsuite/20_util/is_floating_point/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_floating_point/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
	* configure: Regenerate.
	* config.h.in: Likewise.

From-SVN: r178933
2011-09-17 23:53:26 +00:00
David S. Miller
b1e4f4dd5c sparc.md (UNSPEC_EDGE8, [...]): New unspecs.
* config/sparc/sparc.md (UNSPEC_EDGE8, UNSPEC_EDGE8L,
	UNSPEC_EDGE16, UNSPEC_EDGE16L, UNSPEC_EDGE32, UNSPEC_EDGE32L):
	New unspecs.
	(define_attr type): New type 'edge'.
	(edge8_vis, edge8l_vis, edge16_vis, edge16l_vis, edge32_vis,
	edge32l_vis): New patterns.
	* config/sparc/ultra1_2.md: Add insn reservation for 'edge'.
	* config/sparc/ultra3.md: Likewise.
	* config/sparc/niagara.md: Likewise.
	* config/sparc/niagara2.md: Likewise.
	* config/sparc/sparc.d (sparc_vis_init_builtins): Generate
	builtins for VIS edge instructions.
	* config/sparc/visintrin.h (__vis_edge8, __vis_edge8l)
	(__vis_edge16, __vis_edge16l, __vis_edge32, __vis_edge32l): New
	intrinsics.
	(__v8qi, __v4qi): Make unsigned.
	(__vis_faligndatadi, ___vis_faligndatav2si, __vis_faligndatav4hi,
	__vis_faligndatav8qi, __vis_fmul8x16au, __vis_fmul8x16al,
	__vis_fpack32): Fix types.
	* doc/extend.texi: Document new 'edge' VIS intrinsics.

From-SVN: r178931
2011-09-17 13:49:34 -07:00
Jakub Jelinek
8a0436cb79 sse.md (VIMAX_AVX2): Change V4DI to V2TI.
* config/i386/sse.md (VIMAX_AVX2): Change V4DI to V2TI.
	(sse2_avx, sseinsnmode): Add V2TI.
	(REDUC_SMINMAX_MODE): New mode iterator.
	(reduc_smax_v4sf, reduc_smin_v4sf, reduc_smax_v8sf,
	reduc_smin_v8sf, reduc_smax_v4df, reduc_smin_v4df): Remove.
	(reduc_<code>_<mode>): New smaxmin and umaxmin expanders.
	(sse2_lshrv1ti3): Rename to...
	(<sse2_avx2>_lshr<mode>3): ... this.  Use VIMAX_AVX2 mode
	iterator.  Move before umaxmin expanders.
	* config/i386/i386.h (VALID_AVX256_REG_MODE,
	SSE_REG_MODE_P): Accept V2TImode.
	* config/i386/i386.c (ix86_expand_reduc): Handle V32QImode,
	V16HImode, V8SImode and V4DImode.

From-SVN: r178930
2011-09-17 17:24:59 +02:00
Jakub Jelinek
32469ccc49 i386.c (ix86_build_const_vector): Handle V8SImode and V4DImode.
* config/i386/i386.c (ix86_build_const_vector): Handle V8SImode
	and V4DImode.
	(ix86_build_signbit_mask): Likewise.
	(ix86_expand_int_vcond): Likewise.  Handle V16HImode and
	V32QImode.
	(bdesc_args): Use CODE_FOR_{s,u}m{ax,in}v{32q,16h,8s}i3
	instead of CODE_FOR_avx2_{s,u}m{ax,in}v{32q,16h,8s}i3.
	* config/i386/sse.md (avx2_<code><mode>3 umaxmin expand): Rename
	to...
	(<code><mode>3) ... this.
	(avx2_<code><mode>3 smaxmin expand): Rename to...
	(<code><mode>3) ... this.
	(smax<mode>3, smin<mode>3): Macroize using smaxmin code iterator.
	(smaxv2di3, sminv2di3): Macroize using smaxmin code iterator and
	VI8_AVX2 mode iterator.
	(umaxv2di3, uminv2di3): Macroize using umaxmin code iterator and
	VI8_AVX2 mode iterator.
	(vcond<V_256:mode><VI_256:mode>, vcondu<V_256:mode><VI_256:mode>):
	New expanders.

From-SVN: r178929
2011-09-17 17:22:42 +02:00
Janus Weil
7214727cc7 re PR fortran/50403 (SIGSEGV in gfc_use_derived)
2011-09-17  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50403
	* symbol.c (gfc_use_derived): Fix coding style.

From-SVN: r178928
2011-09-17 12:54:50 +02:00
François Dumont
1c56f7cb72 hashtable.h (_Hashtable<>::__rehash_policy(const _RehashPolicy&)): Commit the modification of the policy only if no exception occured.
2011-09-17  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable.h (_Hashtable<>::__rehash_policy(const
	_RehashPolicy&)): Commit the modification of the policy only if no
	exception occured.
	* testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
	New.

From-SVN: r178927
2011-09-17 09:12:24 +00:00
Richard Sandiford
ab2fd9953b itanium2.md: Use match_test rather than eq/ne symbol_ref throughout file.
gcc/
	* config/ia64/itanium2.md: Use match_test rather than eq/ne symbol_ref
	throughout file.

From-SVN: r178926
2011-09-17 06:43:55 +00:00
GCC Administrator
f68bef12ab Daily bump.
From-SVN: r178925
2011-09-17 00:18:54 +00:00
Ian Lance Taylor
5cb047d108 Improve errors for invalid use of [...]type.
From-SVN: r178921
2011-09-17 00:11:27 +00:00
Ian Lance Taylor
31aeabd3c5 Block forever on send/receive to/from nil channel.
From-SVN: r178920
2011-09-16 22:56:32 +00:00
David S. Miller
e7f799cecc visintrin.h: New file.
* config/sparc/visintrin.h: New file.
	* config.gcc: Add it to extra_headers on sparc.

From-SVN: r178919
2011-09-16 14:21:38 -07:00
Jason Merrill
5507a6c379 re PR c++/50424 (G++ doesn't notice possible throw from default argument)
PR c++/50424
	* call.c (set_flags_from_callee): Split out from build_call_a.
	* cp-tree.h: Declare it.
	* tree.c (bot_manip): Call it.

From-SVN: r178918
2011-09-16 17:16:16 -04:00
Jakub Jelinek
c0b0ee6f18 i386.c (ix86_expand_reduc_v4sf): Rename to ...
* config/i386/i386.c (ix86_expand_reduc_v4sf): Rename to ...
	(ix86_expand_reduc): ... this.  Handle also V8SFmode and V4DFmode.
	* config/i386/sse.md (reduc_splus_v4sf, reduc_smax_v4sf,
	reduc_smin_v4sf): Adjust callers.
	(reduc_smax_v8sf, reduc_smin_v8sf, reduc_smax_v4df, reduc_smin_v4df):
	New expanders.

	* gcc.dg/vect/vect-reduc-10.c: New test.
	* gcc.target/i386/avx-reduc-1.c: New test.

From-SVN: r178916
2011-09-16 21:15:45 +02:00
Jakub Jelinek
6e2cb39139 sse.md (vec_extract_hi_<mode>, [...]): Use vextracti128 instead of vextractf128 for -mavx2 and integer vectors.
* config/i386/sse.md (vec_extract_hi_<mode>,
	vec_extract_hi_v16hi, vec_extract_hi_v32qi): Use
	vextracti128 instead of vextractf128 for -mavx2 and
	integer vectors.  For V4DFmode fix up mode attribute.
	(VEC_EXTRACT_MODE): For TARGET_AVX add 32-byte vectors.
	(vec_set_lo_<mode>, vec_set_hi_<mode>): For VI8F_256 modes use V4DF
	instead of V8SF mode attribute.
	(avx2_extracti128): Change into define_expand.
	* config/i386/i386.c (ix86_expand_vector_extract): Handle
	32-byte vector modes if TARGET_AVX.

	* gcc.target/i386/sse2-extract-1.c: New test.
	* gcc.target/i386/avx-extract-1.c: New test.

From-SVN: r178915
2011-09-16 21:14:36 +02:00
Georg-Johann Lay
6deb519753 avr.md: (umulqihi3, mulqihi3): Write as one pattern.
* config/avr/avr.md: (umulqihi3, mulqihi3): Write as one pattern.
	(umulqi3_highpart, smulqi3_highpart): Ditto.
	(*maddqihi4.const, *umaddqihi4.uconst): Ditto.
	(*msubqihi4.const, *umsubqihi4.uconst): Ditto.
	(*muluqihi3.uconst, *mulsqihi3.sconst): Ditto.

From-SVN: r178913
2011-09-16 18:28:32 +00:00
Georg-Johann Lay
1b65da7dfd re PR target/50358 (AVR: Implement [u]maddqihi4 [u]msubqihi4 patterns on the enhanced core)
PR target/50358
	* config/avr/avr.md (*ashiftqihi2.signx.1): New insn.
	(*maddqi4, *maddqi4.const): New insns.
	(*msubqi4, *msubqi4.const): New insns.
	* config/avr/avr.c (avr_rtx_costs): Record costs of above in cases
	PLUS:QI and MINUS:QI.  Increase costs of multiply-add/-sub for
	HImode by 1 in the case of multiplying with a CONST_INT.
	Record cost of *ashiftqihi2.signx.1 in case ASHIFT:QI.

From-SVN: r178912
2011-09-16 18:27:10 +00:00