* 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
* 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
* 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
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 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 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 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 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
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
* 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 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
* 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
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