1. 24 Feb, 2014 14 commits
    • [multiple changes] · c6d2191a
      2014-02-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Analyze_Global_Item): Emit the
      	variable related checks concerning volatile objects only when
      	SPARK_Mode is on.
      
      2014-02-24  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch5.adb (Analyze_Iterator_Specification): use
      	Error_Msg_Ada_2012_Feature.
      
      2014-02-24  Jose Ruiz  <ruiz@adacore.com>
      
      	* s-rident.ads (Profile_Info): For Ravenscar, the restrictions
      	No_Local_Timing_Events and No_Specific_Termination_Handlers
      	must be set, according to the Ravenscar profile definition
      	in D.13(6/3).
      
      2014-02-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Analyze_Expression_Function): If this is a
      	completion, freeze return type and its designated type if needed.
      
      2014-02-24  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
      	'Address): When moving initialization statements to a freeze
      	entity, keep them under a single node (i.e. do not unwrap
      	expressions with actions), and set the Initialization_Statements
      	attribute again so that processing of a later pragma Import can
      	still remove them.
      
      2014-02-24  Claire Dross  <dross@adacore.com>
      
      	* a-cfdlli.adb, a-cfdlli.ads, a-cfhama.adb, a-cfhama.ads,
      	a-cfhase.adb, a-cfhase.ads, a-cforma.adb, a-cforma.ads,
      	a-cforse.adb, a-cforse.ads, a-cofove.adb, a-cofove.ads: Rename
      	Left/Right to First_To_Previous/Current_To_Last.
      
      2014-02-24  Thomas Quinot  <quinot@adacore.com>
      
      	* adaint.h (struct file_attributes): New component "error"
      	(__gnat_error_attributes): Accessor for the above.
      	* adaint.c (__gnat_error_attributes): New subprogram
      	(__gnat_stat): Fix returned value (expect errno value)
      	(__gnat_stat_to_attr): Add management of error component (set to
      	stat errno value, except for missing files where it is set to 0,
      	and exists is set to 0).
      	* osint.ads (File_Attributes_Size): Update per change above,
      	also clarify documentation.
      	* s-filatt.ads: New file, binding to file attributes related
      	functions.
      	* Makefile.rtl (s-filatt): New runtime unit.
      	* s-crtl.ads (strlen): Expose binding to GCC builtin (falls back
      	to library function if not available on target).
      	* s-os_lib.ads, s-os_lib.adb (Errno_Message): New subprogram.
      	* s-oscons-tmplt.c (SIZEOF_struct_file_attributes,
      	SIZEOF_struct_dirent_alloc): New constants.
      	* Make-generated.in (s-oscons.ads): Now requires adaint.h.
      	* a-direct.adb (Fetch_Next_Entry): Fix incorrect buffer sizes.
      	Perform appropriate error checking if stat fails (do not just
      	ignore existing files if stat fails)
      	* gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Update
      	dependencies.
      
      From-SVN: r208078
      Arnaud Charlet committed
    • sem_prag.adb (Analyze_Global_Item): Move the check concerning the use of… · ec77b144
      sem_prag.adb (Analyze_Global_Item): Move the check concerning the use of volatile objects as global items in a...
      
      2014-02-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Analyze_Global_Item): Move the check concerning
      	the use of volatile objects as global items in a function to
      	the variable related checks section.
      	* sem_util.adb (Async_Readers_Enabled): Directly call
      	Has_Enabled_Property.
      	(Async_Writers_Enabled): Directly call Has_Enabled_Property.
      	(Effective_Reads_Enabled): Directly call Has_Enabled_Property.
      	(Effective_Writes_Enabled): Directly call Has_Enabled_Property.
      	(Has_Enabled_Property): Rename formal parameter State_Id to Item_Id.
      	Update the comment on usage. State_Has_Enabled_Property how handles
      	the original logic of the routine. Add processing for variables.
      	(State_Has_Enabled_Property): New routine.
      	(Variable_Has_Enabled_Property): New routine.
      
      From-SVN: r208077
      Hristian Kirtchev committed
    • [multiple changes] · 32bba3c9
      2014-02-24  Robert Dewar  <dewar@adacore.com>
      
      	* sinfo.ads, sem_ch12.adb, sem_res.adb, sem_ch4.adb, par-ch12.adb:
      	Minor reformatting.
      	* atree.ads, atree.adb (Node35): New function.
      	(Set_Node35): New procedure.
      	* debug.adb: Define new debug flag -gnatd.X.
      	* einfo.ads, einfo.adb (Import_Pragma): New field.
      	* freeze.adb (Wrap_Imported_Procedure): New procedure (not
      	really active yet, has to be activated with -gnatd.X.
      	* sem_prag.adb (Set_Imported): Set new Import_Pragma
      	field (Set_Imported): Don't set Is_Public (see
      	Freeze.Wrap_Imported_Subprogram)
      	* par-ch3.adb (P_Component_List): Handle unexpected null component.
      
      2014-02-24  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch3.adb: Correct reference to SPARK RM in error messages.
      	* gnat_rm.texi: Correct documentation of attribute Update.
      
      2014-02-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb (Analyze_Iterator_Specification): Reject container
      	iterator in older versions of Ada.
      
      From-SVN: r208076
      Arnaud Charlet committed
    • sem_ch5.adb, [...]: Change spelling 'parametrization' to 'parameterization'. · 97027f64
      2014-02-24  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_ch5.adb, sem_aux.ads, sem_ch12.adb, gnat_ugn.texi, par.adb,
      	par-ch12.adb: Change spelling 'parametrization' to 'parameterization'.
      
      From-SVN: r208075
      Gary Dismukes committed
    • sinfo.ads, sinfo.adb: New attribute Generalized_Indexing... · 5f50020a
      2014-02-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sinfo.ads, sinfo.adb: New attribute Generalized_Indexing, for
      	indexed_components that are instances of Ada 2012 container
      	indexing operations. Analysis and resolution of such nodes
      	is performed on the attribute, and the original source is
      	preserved for ASIS operations. If expansion is enabled, the
      	indexed component is replaced by the value of this attribute,
      	which is in a call to an Indexing aspect, in most case wrapped
      	in a dereference operation.
      	* sem_ch4.adb (Analyze_Indexed_Component): Create
      	Generalized_Indexing attribute when appropriate.
      	(Analyze_Call): If prefix is not overloadable and has an indexing
      	aspect, transform into an indexed component so it can be analyzed
      	as a potential container indexing.
      	(Analyze_Expression): If node is an indexed component with a
      	Generalized_ Indexing, do not re-analyze.
      	* sem_res.adb (Resolve_Generalized_Indexing): Complete resolution
      	of an indexed_component that has been transformed into a container
      	indexing operation.
      	(Resolve_Indexed_Component): Call the above when required.
      	(Resolve): Do not insert an explicit dereference operation on
      	an indexed_component whose type has an implicit dereference:
      	the operation is inserted when resolving the related
      	Generalized_Indexing.
      
      From-SVN: r208074
      Ed Schonberg committed
    • [multiple changes] · ec4e8e9a
      2014-02-24  Olivier Ramonat  <ramonat@adacore.com>
      
      	* gnat_rm.texi, gnat_ugn.texi: Replace Ada Compiler by Ada Development
      	Environment.
      
      2014-02-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Check_Constituent_Usage): Remove leading spaces in
      	error messages.
      	(Inconsistent_Mode_Error): Remove leading spaces in error messages.
      	Merge the expected and available mode errors.
      	(Report_Unused_Constituents): Remove leading spaces in error messages.
      	(Report_Unused_States): Remove leading spaces in error messages.
      
      From-SVN: r208073
      Arnaud Charlet committed
    • [multiple changes] · e19137bc
      2014-02-24  Thomas Quinot  <quinot@adacore.com>
      
      	* par_sco.adb (Traverse_One): Refine categorization of statement
      	SCOs.
      
      2014-02-24  Robert Dewar  <dewar@adacore.com>
      
      	* aspects.ads, aspects.adb: Remove aspects Ada_2005 and Ada_2012,
      	Pure_05, Pure_12 and Preelaborate_05.
      	* gnat_rm.texi: Update accordingly.
      	* sem_prag.adb: Document one argument form of Ada_05/Ada_2005
      	pragmas Document one argument form of Ada_12/Ada_2012 pragmas
      	Recognize one argument form of these pragmas only in GNAT mode
      	(-gnatg).
      
      From-SVN: r208072
      Arnaud Charlet committed
    • [multiple changes] · 1037b0f4
      2014-02-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* s-dimmks.ads: Replace symbol for temperature, previously the
      	Greek letter Theta, by the ASCII @ sign.
      	* s-diflio.ads: ditto.
      
      2014-02-24  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch4.adb: Minor code reorganization (use OR for boolean
      	variables).
      	* sem_ch3.adb, sem_prag.adb, freeze.adb: Minor reformatting.
      
      2014-02-24  Ben Brosgol  <brosgol@adacore.com>
      
      	* gnat_ugn.texi, projects.texi: Added the necessary conditionalization
      	so that references to gnatmem and ASIS tools do not appear in the FSF
      	edition of the GNAT User's Guide.
      
      From-SVN: r208071
      Arnaud Charlet committed
    • [multiple changes] · ebb6b0bd
      2014-02-24  Yannick Moy  <moy@adacore.com>
      
      	* freeze.adb (Freeze_Entity): Do not issue warning
      	for pre/post being ignored on imported subprogram in GNATprove
      	mode.
      
      2014-02-24  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch5.adb, sem_ch5.adb, sem_type.adb, sem_res.adb, sem_attr.adb,
      	stand.ads, sem_eval.adb: Minor reformatting.
      
      2014-02-24  Yannick Moy  <moy@adacore.com>
      
      	* sem_prag.adb: Minor rewording in error message.
      
      2014-02-24  Johannes Kanig  <kanig@adacore.com>
      
      	* exp_util.adb (Expand_Subtype_From_Expr): Do not expand subtypes in
      	GNATprove_mode, gnat2why doesn't need nor use these types.
      
      2014-02-24  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Op_Expon): On the AAMP
      	target, in the case of signed integer exponentiation that uses a
      	run-time routine, always select the Exp_* versions, since overflow
      	checking is automatically done by AAMP arithmetic instructions.
      
      2014-02-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspect_Specifications):
      	When the related context is a package instace, insert pragma
      	Abstract_State after all internally-generated renamings related
      	to the instance "header".
      
      2014-02-24  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Analyze_Declarations): Analyze Contract of abstract
      	subprograms.
      	* sem_disp.adb (Check_Dispatching_Context): A non-dispatching
      	call to an abstract subprogram is legal if it appears in a
      	pre/postcondition of another abstract operation.
      
      From-SVN: r208070
      Arnaud Charlet committed
    • TILE-Gx big endian support. · 341c653c
      /:
      	* configure.ac (tilepro-*-*) Change to tilepro*-*-*.
      	(tilegx-*-*): Change to tilegx*-*-*.
      	* configure: Regenerate.
      
      contrib/:
      	* config-list.mk (LIST): Add tilegxbe-linux-gnu.
      
      libcpp/:
      	* configure.ac: Change "tilepro" triplet to "tilepro*".
      	* configure: Regenerate.
      
      libgcc/:
      	* config.host: Support "tilegx*" and "tilepro*" triplets.
      	* config/tilegx/sfp-machine32.h (__BYTE_ORDER): Handle big endian.
      	* config/tilegx/sfp-machine64.h (__BYTE_ORDER): Handle big endian.
      
      gcc/:
      	* config.gcc (tilepro-*-*): Change to tilepro*-*-*.
      	(tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
      	triplet.
      	* common/config/tilegx/tilegx-common.c
      	(TARGET_DEFAULT_TARGET_FLAGS): Define.
      	* config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
      	(LINK_SPEC): Ditto.
      	* config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
      	* config/tilegx/tilegx.c (tilegx_return_in_msb): New.
      	(tilegx_gimplify_va_arg_expr): Handle big endian.
      	(tilegx_expand_unaligned_load): Ditto.
      	(tilegx_expand_unaligned_store): Ditto.
      	(TARGET_RETURN_IN_MSB): New.
      	* config/tilegx/tilegx.h (TARGET_DEFAULT): New.
      	(TARGET_ENDIAN_DEFAULT): New.
      	(TARGET_BIG_ENDIAN): Handle big endian.
      	(BYTES_BIG_ENDIAN): Ditto.
      	(WORDS_BIG_ENDIAN): Ditto.
      	(FLOAT_WORDS_BIG_ENDIAN): Ditto.
      	(ENDIAN_SPEC): New.
      	(EXTRA_SPECS): New.
      	* config/tilegx/tilegx.md (extv): Handle big endian.
      	(extzv): Ditto.
      	(insn_st<n>): Ditto.
      	(insn_st<n>_add<bitsuffix>): Ditto.
      	(insn_stnt<n>): Ditto.
      	(insn_stnt<n>_add<bitsuffix>):Ditto.
      	(vec_interleave_highv8qi): Handle big endian.
      	(vec_interleave_highv8qi_be): New.
      	(vec_interleave_highv8qi_le): New.
      	(insn_v1int_h): Handle big endian.
      	(vec_interleave_lowv8qi): Handle big endian.
      	(vec_interleave_lowv8qi_be): New.
      	(vec_interleave_lowv8qi_le): New.
      	(insn_v1int_l): Handle big endian.
      	(vec_interleave_highv4hi): Handle big endian.
      	(vec_interleave_highv4hi_be): New.
      	(vec_interleave_highv4hi_le): New.
      	(insn_v2int_h): Handle big endian.
      	(vec_interleave_lowv4hi): Handle big endian.
      	(vec_interleave_lowv4hi_be): New.
      	(vec_interleave_lowv4hi_le): New.
      	(insn_v2int_l): Handle big endian.
      	(vec_interleave_highv2si): Handle big endian.
      	(vec_interleave_highv2si_be): New.
      	(vec_interleave_highv2si_le): New.
      	(insn_v4int_h): Handle big endian.
      	(vec_interleave_lowv2si): Handle big endian.
      	(vec_interleave_lowv2si_be): New.
      	(vec_interleave_lowv2si_le): New.
      	(insn_v4int_l): Handle big endian.
      	* config/tilegx/tilegx.opt (mbig-endian): New option.
      	(mlittle-endian): New option.
      	* doc/install.texi: Document tilegxbe-linux.
      	* doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
      
      From-SVN: r208069
      Walter Lee committed
    • 2014-02-24 Sergey Rybin <rybin@adacore.com frybin> · c97d7285
      	* gnat_ugn.texi: Misc updates.
      
      2014-02-24  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_prag.adb (Expand_Old): Set the type of the generated temporary.
      
      2014-02-24  Gary Dismukes  <dismukes@adacore.com>
      
      	* layout.adb (Layout_Variant_Record): Instantiate
      	Generic_Check_Choices and call Check_Choices before calling
      	Build_Discr_Checking_Funcs, since we need Others_Discrete_Choices
      	set to prevent generating incorrect discriminant-checking
      	functions for 'others' variants (functions that unconditionally
      	return True rather than accounting for the values covered by the
      	'others' choice).
      	* sem_eval.ads (Subtypes_Statically_Compatible): Add formal
      	Formal_Derived_Matching.
      	(Subtypes_Statically_Match): Add formal Formal_Derived_Matching.
      	* sem_eval.adb (Subtypes_Statically_Compatible): Pass new
      	Formal_Derived_Matching formal to Subtypes_Statically_Match.
      	(Subtypes_Statically_Match): Suppress the Object_Size matching
      	test in the case where Formal_Derived_Matching is True.
      	* sem_ch12.adb (Validate_Derived_Type_Instance): Pass
      	True for Formal_Derived_Matching_Formal on the call to
      	Subtypes_Statically_Compatible.
      
      From-SVN: r208068
      Arnaud Charlet committed
    • re PR ipa/60266 (ICE: in ipa_get_parm_lattices, at ipa-cp.c:261 during LibreOffice LTO build) · f3fec19f
      2014-02-24  Martin Jambor  <mjambor@suse.cz>
      
      	PR ipa/60266
      	* ipa-cp.c (propagate_constants_accross_call): Bail out early if
      	there are no parameter descriptors.
      
      From-SVN: r208067
      Martin Jambor committed
    • re PR rtl-optimization/60268 (ICE: in rank_for_schedule, at haifa-sched.c:2557) · 9039622a
      gcc/
      
      2014-02-24  Andrey Belevantsev  <abel@ispras.ru>
      
          PR rtl-optimization/60268
          * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
          initialization to ...
          (sched_rgn_init): ... here.
          (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
      
      testsuite/
      
      2014-02-24  Andrey Belevantsev  <abel@ispras.ru>
      
          PR rtl-optimization/60268
          * gcc.c-torture/compile/pr60268.c: New test.
      
      From-SVN: r208066
      Andrey Belevantsev committed
    • Daily bump. · 467d193f
      From-SVN: r208065
      GCC Administrator committed
  2. 23 Feb, 2014 9 commits
  3. 22 Feb, 2014 5 commits
  4. 21 Feb, 2014 12 commits
    • re PR fortran/60302 (ICE with c_f_pointer and android cross compiler) · f1ed9e15
      2014-02-21  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/60302
      	* check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
      	is successful.
      
      
      2014-02-21  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/60302
      	* gfortran.dg/c_f_pointer_shape_tests_6.f90: New.
      
      From-SVN: r208033
      Janus Weil committed
    • re PR c++/60108 ([C++11] ICE in use_thunk, at cp/method.c:340) · d723358d
      	PR c++/60108
      	* semantics.c (expand_or_defer_fn_1): Check DECL_DEFAULTED_FN.
      
      From-SVN: r208030
      Jason Merrill committed
    • re PR c++/60185 (ICE with invalid default parameter) · c754ffcc
      	PR c++/60185
      	* parser.c (cp_parser_default_argument): Clear
      	current_class_ptr/current_class_ref like tsubst_default_argument.
      
      From-SVN: r208029
      Jason Merrill committed
    • re PR c++/60252 ([c++11] ICE with invalid variable-length array in lambda parameter) · e7b67047
      	PR c++/60252
      	* lambda.c (maybe_resolve_dummy): Check lambda_function rather
      	than current_binding_level.
      
      From-SVN: r208028
      Jason Merrill committed
    • re PR c++/60186 ([c++11] ICE with invalid value in constexpr array initializer) · b98fb363
      	PR c++/60186
      	* typeck2.c (massage_init_elt): Call fold_non_dependent_expr_sfinae.
      
      From-SVN: r208027
      Jason Merrill committed
    • re PR c++/60187 ([c++11] ICE with parameter pack as underlying type for enum) · 3e9e24ab
      	PR c++/60187
      	* parser.c (cp_parser_enum_specifier): Call
      	check_for_bare_parameter_packs.
      
      From-SVN: r208026
      Jason Merrill committed
    • re PR c++/59347 (ICE on invalid: tree check: expected class 'type', have… · 71b735a5
      re PR c++/59347 (ICE on invalid: tree check: expected class 'type', have 'exceptional' (error_mark) in tsubst_decl, at cp/pt.c:10798)
      
      	PR c++/59347
      	* pt.c (tsubst_decl) [TYPE_DECL]: Don't try to instantiate an
      	erroneous typedef.
      
      From-SVN: r208025
      Jason Merrill committed
    • re PR c++/60241 (internal compiler error: in finish_member_declaration, at cp/semantics.c:2617) · 2671a8ef
      	PR c++/60241
      	* pt.c (lookup_template_class_1): Update DECL_TEMPLATE_INSTANTIATIONS
      	of the partial instantiation, not the most general template.
      	(maybe_process_partial_specialization): Reassign everything on
      	that list.
      
      From-SVN: r208024
      Jason Merrill committed
    • re PR target/60298 ([ARM/Thumb1] ICE caused by LRA for case pr54713-1.c) · a810ee82
      2014-02-21  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/60298
      	* lra-constraints.c (inherit_reload_reg): Use lra_emit_move
      	instead of emit_move_insn.
      
      From-SVN: r208023
      Vladimir Makarov committed
    • altivec.md (altivec_vsumsws): Replace second vspltw with vsldoi. · b90ab1ba
      gcc:
      
      2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/altivec.md (altivec_vsumsws): Replace second
      	vspltw with vsldoi.
      	(reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
      	gen_altivec_vsumsws.
      
      gcc/testsuite:
      
      2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* gcc.dg/vmx/vsums.c: Check entire result vector.
      	* gcc.dg/vmx/vsums-be-order.c: Likewise.
      
      From-SVN: r208021
      Bill Schmidt committed
    • altivec.md (altivec_lvxl): Rename as *altivec_lvxl_<mode>_internal and use VM2… · 4b3a6bcb
      altivec.md (altivec_lvxl): Rename as *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
      
      gcc:
      
      2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/altivec.md (altivec_lvxl): Rename as
      	*altivec_lvxl_<mode>_internal and use VM2 iterator instead of
      	V4SI.
      	(altivec_lvxl_<mode>): New define_expand incorporating
      	-maltivec=be semantics where needed.
      	(altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
      	(altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
      	semantics where needed.
      	(altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
      	(altivec_stvx_<mode>): New define_expand incorporating
      	-maltivec=be semantics where needed.
      	(altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
      	VM2 iterator instead of V4SI.
      	(altivec_stvxl_<mode>): New define_expand incorporating
      	-maltivec=be semantics where needed.
      	* config/rs6000/rs6000-builtin.def: Add new built-in definitions
      	LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
      	LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI,
      	STVX_V2DF, STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI,
      	STVXL_V2DF, STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI,
      	STVXL_V16QI.
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
      	ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
      	similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
      	ALTIVEC_BUILTIN_STVXL.
      	* config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New
      	prototype.
      	(altivec_expand_stvx_be): Likewise.
      	* config/rs6000/rs6000.c (swap_selector_for_mode): New function.
      	(altivec_expand_lvx_be): Likewise.
      	(altivec_expand_stvx_be): Likewise.
      	(altivec_expand_builtin): Add cases for
      	ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
      	ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
      	(altivec_init_builtins): Add definitions for
      	__builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
      	__builtin_altivec_stvx_<mode>, and
      	__builtin_altivec_stvxl_<mode>.
      
      
      gcc/testsuite:
      
      2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* gcc.dg/vmx/ld.c: New test.
      	* gcc.dg/vmx/ld-be-order.c: New test.
      	* gcc.dg/vmx/ld-vsx.c: New test.
      	* gcc.dg/vmx/ld-vsx-be-order.c: New test.
      	* gcc.dg/vmx/ldl.c: New test.
      	* gcc.dg/vmx/ldl-be-order.c: New test.
      	* gcc.dg/vmx/ldl-vsx.c: New test.
      	* gcc.dg/vmx/ldl-vsx-be-order.c: New test.
      	* gcc.dg/vmx/st.c: New test.
      	* gcc.dg/vmx/st-be-order.c: New test.
      	* gcc.dg/vmx/st-vsx.c: New test.
      	* gcc.dg/vmx/st-vsx-be-order.c: New test.
      	* gcc.dg/vmx/stl.c: New test.
      	* gcc.dg/vmx/stl-be-order.c: New test.
      	* gcc.dg/vmx/stl-vsx.c: New test.
      	* gcc.dg/vmx/stl-vsx-be-order.c: New test.
      
      From-SVN: r208019
      William Schmidt committed
    • altivec.md (altivec_lvxl): Rename as *altivec_lvxl_<mode>_internal and use VM2… · 1af73690
      altivec.md (altivec_lvxl): Rename as *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
      
      gcc:
      
      2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/altivec.md (altivec_lvxl): Rename as
      	*altivec_lvxl_<mode>_internal and use VM2 iterator instead of
      	V4SI.
      	(altivec_lvxl_<mode>): New define_expand incorporating
      	-maltivec=be semantics where needed.
      	(altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
      	(altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
      	semantics where needed.
      	(altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
      	(altivec_stvx_<mode>): New define_expand incorporating
      	-maltivec=be semantics where needed.
      	(altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
      	VM2 iterator instead of V4SI.
      	(altivec_stvxl_<mode>): New define_expand incorporating
      	-maltivec=be semantics where needed.
      	* config/rs6000/rs6000-builtin.def: Add new built-in definitions
      	LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
      	LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI,
      	STVX_V2DF, STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI,
      	STVXL_V2DF, STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI,
      	STVXL_V16QI.
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
      	ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
      	similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
      	ALTIVEC_BUILTIN_STVXL.
      	* config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New
      	prototype.
      	(altivec_expand_stvx_be): Likewise.
      	* config/rs6000/rs6000.c (swap_selector_for_mode): New function.
      	(altivec_expand_lvx_be): Likewise.
      	(altivec_expand_stvx_be): Likewise.
      	(altivec_expand_builtin): Add cases for
      	ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
      	ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
      	(altivec_init_builtins): Add definitions for
      	__builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
      	__builtin_altivec_stvx_<mode>, and
      	__builtin_altivec_stvxl_<mode>.
      
      
      gcc/testsuite:
      
      2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* gcc.dg/vmx/ld.c: New test.
      	* gcc.dg/vmx/ld-be-order.c: New test.
      	* gcc.dg/vmx/ld-vsx.c: New test.
      	* gcc.dg/vmx/ld-vsx-be-order.c: New test.
      	* gcc.dg/vmx/ldl.c: New test.
      	* gcc.dg/vmx/ldl-be-order.c: New test.
      	* gcc.dg/vmx/ldl-vsx.c: New test.
      	* gcc.dg/vmx/ldl-vsx-be-order.c: New test.
      	* gcc.dg/vmx/st.c: New test.
      	* gcc.dg/vmx/st-be-order.c: New test.
      	* gcc.dg/vmx/st-vsx.c: New test.
      	* gcc.dg/vmx/st-vsx-be-order.c: New test.
      	* gcc.dg/vmx/stl.c: New test.
      	* gcc.dg/vmx/stl-be-order.c: New test.
      	* gcc.dg/vmx/stl-vsx.c: New test.
      	* gcc.dg/vmx/stl-vsx-be-order.c: New test.
      
      From-SVN: r208018
      William Schmidt committed