1. 14 Jun, 2012 12 commits
    • [multiple changes] · 3cebd1c0
      2012-06-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.adb (Is_Object_Reference): in Ada 2012, qualified
      	expressions are valid names.
      
      2012-06-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch10.adb (Analyze_Compilation_Unit): If the unit is an
      	instantiation do not emit warnings for obsolescent units. The
      	warnings belong on the corresponding generic.
      
      2012-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* einfo.adb: Update the usage of Node15.
      	(Return_Flag_Or_Transient_Decl): Removed.
      	(Set_Return_Flag_Or_Transient_Decl): Removed.
      	(Set_Status_Flag_Or_Transient_Decl): New routine.
      	(Status_Flag_Or_Transient_Decl): New routine.
      	(Write_Field15_Name): Update the output for variables and constants.
      	* einfo.ads: Remove attribute
      	Return_Flag_Or_Transient_Decl along with occurrences in nodes.
      	(Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
      	(Set_Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
      	(Set_Status_Flag_Or_Transient_Decl): New routine along with pragma
      	Inline.
      	(Status_Flag_Or_Transient_Decl): New routine along with pragma Inline.
      	* exp_ch4.adb (Create_Alternative): New routine.
      	(Expand_N_Conditional_Expression): Handle the case
      	where at least one of the conditional expression
      	alternatives prodices a controlled temporary by means of a function
      	call.
      	(Is_Controlled_Function_Call): New routine.
      	(Process_Transient_Object): Update the call to
      	Set_Return_Flag_Or_Transient_Decl.
      	* exp_ch6.adb (Enclosing_Context): New routine.
      	(Expand_N_Extended_Return_Statement): Update all calls to
      	Set_Return_Flag_Or_Transient_Decl.
      	(Expand_Ctrl_Function_Call): Prohibit the finalization of a controlled
      	function result when the context is a conditional expression.
      	* exp_ch7.adb (Process_Declarations): Update all calls to
      	Return_Flag_Or_Transient_Decl. Add processing for intermediate
      	results of conditional expressions where one of the alternatives
      	uses a controlled function call.
      	(Process_Object_Declaration): Update all calls to
      	Return_Flag_Or_Transient_Decl and rearrange the logic to process
      	"hook" objects first.
      	(Process_Transient_Objects): Update the call to
      	Set_Return_Flag_Or_Transient_Decl.
      	* exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean,
      	Boolean)): Update all calls to Return_Flag_Or_Transient_Decl. Add
      	detection for intermediate results of conditional expressions
      	where one of the alternatives uses a controlled function call.
      
      From-SVN: r188606
      Arnaud Charlet committed
    • vrp.h: New testcase. · 7579786c
      2012-06-14  Richard Guenther  <rguenther@suse.de>
      
      	* gcc.dg/tree-ssa/vrp.h: New testcase.
      	* gcc.dg/tree-ssa/vrp68.c: Likewise.
      
      From-SVN: r188604
      Richard Guenther committed
    • arm.opt (mfp=2, [...]): Delete options. · 76702923
      	* arm.opt (mfp=2, mfp=3, mfpe, mfpe=2, mfpe=3): Delete options.
              * arm-fpus.def (fpa, fpe2, fpe3, maverick): Delete FPU types.
      	* arm-tables.opt: Regenerated.
              * doc/invoke.texi: Remove references to deleted options.
      
      From-SVN: r188603
      Richard Earnshaw committed
    • re PR target/53621 ([SH] Frame pointers not generated with -fno-omit-frame-pointer on GCC 4.7.0) · 5921cd19
      PR target/53621
      * config/sh/sh.c (sh_option_override): Don't force
      flag_omit_frame_pointer and maccumulate_outgoing_args.
      * config/sh/sh.opt (maccumulate-outgoing-args): Init as Var.
      
      * gcc.dg/stack-usage-1.c: Force -fomit-frame-pointer on SH.
      
      From-SVN: r188598
      Christian Bruel committed
    • tree-vrp.c (VR_INITIALIZER): New define. · 3c9c79e8
      2012-06-14  Richard Guenther  <rguenther@suse.de>
      
      	* tree-vrp.c (VR_INITIALIZER): New define.
      	(ranges_from_anti_range): New function.
      	(extract_range_from_binary_expr_1): Decompose operations on
      	VR_ANTI_RANGEs to operations on VR_RANGE.
      	(extract_range_from_unary_expr_1): Likewise.
      	(extract_range_from_binary_expr_1, extract_range_from_binary_expr,
      	extract_range_from_unary_expr_1, extract_range_from_unary_expr,
      	extract_range_from_cond_expr, adjust_range_with_scev,
      	vrp_visit_assignment_or_call, vrp_visit_phi_node,
      	simplify_bit_ops_using_ranges): Use VR_INITIALIZER.
      
      From-SVN: r188551
      Richard Guenther committed
    • mips.exp (mips-dg-options): Handle -msynci. · 30cf3db7
      gcc/testsuite/
      	* gcc.target/mips/mips.exp (mips-dg-options): Handle -msynci.
      
      From-SVN: r188550
      Richard Sandiford committed
    • compiler, reflect: Quote package path with tabs. · c789c045
      From-SVN: r188548
      Ian Lance Taylor committed
    • libgo: Make the subdirectory in the CHECK target. · d71ec0cd
      From Andreas Schwab.
      
      From-SVN: r188547
      Ian Lance Taylor committed
    • compiler: Avoid unnecessary interface conversions. · c4675e5e
      From-SVN: r188545
      Ian Lance Taylor committed
    • Daily bump. · f7a70512
      From-SVN: r188544
      GCC Administrator committed
  2. 13 Jun, 2012 28 commits
    • re PR testsuite/20771 (Duplicate PCH test names) · 8564f927
      	PR testsuite/20771
      	* lib/dg-pch.exp (dg-flags-pch): Add flags to make compile lines in
      	test summary unique.
      
      From-SVN: r188540
      Janis Johnson committed
    • scanasm.exp (scan-assembler, [...]): Don't strip torture options from test name. · 78a5a568
      	* lib/scanasm.exp (scan-assembler, scan-assembler-not, scan-hidden,
      	scan-not-hiddent, scan-file, scan-file-not, scan-stack-usage,
      	scan-stack-usage-not): Don't strip torture options from test name.
      
      From-SVN: r188539
      Janis Johnson committed
    • scandump.exp (scan-dump-times): Use printable version of regexp in test summary line. · 9042f8f2
      	* lib/scandump.exp (scan-dump-times): Use printable version of
      	regexp in test summary line.
      
      From-SVN: r188538
      Janis Johnson committed
    • di-longlong64-sync-1.c: Add comments to checks for multiple messages reported… · 5fe0eb0d
      di-longlong64-sync-1.c: Add comments to checks for multiple messages reported for one line of source code.
      
      	* gcc.dg/di-longlong64-sync-1.c: Add comments to checks for multiple
      	messages reported for one line of source code.
      	* gcc.dg/format/few-1.c: Likewise.
      	* gcc.dg/ia64-sync-2.c: Likewise.
      	* gcc.dg/sync-2.c: Likewise.
      	* gcc.dg/noncompile/pr44517.c: Likewise.
      
      From-SVN: r188537
      Janis Johnson committed
    • Add and use HOST_WIDEST_INT_C, HOST_WIDE_INT_C. · fd2d9121
      From-SVN: r188535
      Richard Henderson committed
    • * gcc.pot: Regenerate. · db8c4965
      From-SVN: r188534
      Joseph Myers committed
    • * cpplib.pot: Regenerate. · 9b4c97f7
      From-SVN: r188533
      Joseph Myers committed
    • re PR debug/49888 (VTA: -O2 -g variable value changes, it does not change in the source) · 8cda8ad3
      gcc/ChangeLog:
      PR debug/49888
      * var-tracking.c: Include alias.h.
      (overlapping_mems): New struct.
      (drop_overlapping_mem_locs): New.
      (clobber_overlapping_mems): New.
      (var_mem_delete_and_set, var_mem_delete): Call it.
      (val_bind): Likewise, but only if modified.
      (compute_bb_dataflow, emit_notes_in_bb): Call it on MEMs.
      * Makefile.in (var-tracking.o): Depend in $(ALIAS_H).
      gcc/testsuite/ChangeLog:
      PR debug/49888
      * gcc.dg/guality/pr49888.c: New.
      
      From-SVN: r188531
      Alexandre Oliva committed
    • re PR debug/47624 (FAIL: gcc.dg/guality/pr43077-1.c -O1 line 42 c == 3) · d05cae4a
      PR debug/47624
      * var-tracking.c (loc_exp_dep_pool): New.
      (vt_emit_notes): Create and release the pool.
      (compute_bb_dataflow): Use value-based locations in MO_VAL_SET.
      (emit_notes_in_bb): Likewise.
      (loc_exp_dep_insert): Deal with NOT_ONEPART vars.
      (notify_dependents_of_changed_value): Likewise.
      (notify_dependents_of_resolved_value): Check that NOT_ONEPART
      variables don't have a VAR_LOC_DEP_LST.
      (emit_note_insn_var_location): Expand NOT_ONEPART locs that are
      VALUEs or MEMs of VALUEs.
      
      From-SVN: r188530
      Alexandre Oliva committed
    • * sr.po: New. · 29970a8a
      From-SVN: r188528
      Joseph Myers committed
    • re PR debug/52983 (internal compiler error: in df_uses_record, at df-scan.c:3243) · 39bc0f01
      PR debug/52983
      PR debug/48866
      * dce.c (word_dce_process_block): Insert debug temps only if the
      insn is not marked.
      (dce_process_block): Likewise, and if debug.used is not empty,
      and only after iterating over all DEFs that might mark the insn.
      
      From-SVN: r188527
      Alexandre Oliva committed
    • common.opt (ftree-coalesce-inlined-vars): New. · 21d01365
      gcc/ChangeLog:
      * common.opt (ftree-coalesce-inlined-vars): New.
      (ftree-coalesce-vars): New.
      * doc/invoke.texi: Document them.
      * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
      Implement them.
      gcc/testsuite/ChangeLog:
      * g++.dg/tree-ssa/ivopts-2.C: Adjust for coalescing.
      * gcc.dg/tree-ssa/forwprop-11.c: Likewise.
      * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
      
      From-SVN: r188526
      Alexandre Oliva committed
    • read-rtl.c (mapping): Remove index field. · b78fd164
      gcc/
      	* read-rtl.c (mapping): Remove index field.  Add current_value field.
      	Define heap vectors.
      	(iterator_group): Fix long line.  Remove num_builtins field and
      	uses_iterator fields.  Make apply_iterator take a void * parameter.
      	(iterator_use, atttribute_use): New structures.
      	(iterator_traverse_data, BELLWETHER_CODE, bellwether_codes): Delete.
      	(current_iterators, iterator_uses, attribute_uses): New variables.
      	(uses_mode_iterator_p, uses_code_iterator_p): Delete.
      	(apply_mode_iterator, apply_code_iterator): Take a void * parameter.
      	(map_attr_string, apply_iterator_to_string): Remove iterator
      	and value parameters.  Look through all current iterator values
      	for a matching attribute.
      	(mode_attr_index, apply_mode_maps): Delete.
      	(apply_iterator_to_rtx): Replace with...
      	(copy_rtx_for_iterators): ...this new function.
      	(uses_iterator_p, apply_iterator_traverse): Delete.
      	(apply_attribute_uses, add_current_iterators, apply_iterators): New
      	functions.
      	(add_mapping): Remove index field.  Set current_value field.
      	(initialize_iterators): Don't set num_builtins and uses_iterator_p
      	fields.
      	(find_iterator): Delete.
      	(record_iterator_use, record_attribute_use): New functions.
      	(record_potential_iterator_use): New function.
      	(check_code_iterator): Remove handling of bellwether codes.
      	(read_rtx): Remove mode maps.  Truncate iterator and attribute uses.
      	(read_rtx_code, read_nested_rtx, read_rtx_variadic): Remove mode_maps
      	parameter.  Use the first code iterator value instead of the
      	bellwether_codes array.  Use record_potential_iterator_use
      	for modes.
      
      From-SVN: r188525
      Richard Sandiford committed
    • re PR target/53568 (SH Target: Add support for bswap built-ins) · 638a085f
      	PR target/53568
      	* config/sh/sh.md (bswapsi2): New expander.
      	(swapbsi2): New insn.
      
      From-SVN: r188524
      Oleg Endo committed
    • Set cache values from -mtune · 054121a4
      	PR target/53647
      	* config/i386/i386.c (ix86_tune_cost): New variable.
      	(ix86_option_override_internal): Set ix86_tune_cost.  Use
      	ix86_tune_cost for simultaneous_prefetches, prefetch_block,
      	l1_cache_size and l2_cache_size.
      
      From-SVN: r188523
      H.J. Lu committed
    • * ChangeLog: Fix whitespace. · 4a172156
      From-SVN: r188521
      Uros Bizjak committed
    • sfp-machine.h (__sfp_handle_exceptions): New function declaration. · 79261115
      	* config/ia64/sfp-machine.h (__sfp_handle_exceptions): New
      	function declaration.
      	(FP_HANDLE_EXCEPTIONS): Use __sfp_handle_exceptions.
      	(FP_RND_MASK): New.
      	* config/ia64/sfp-exceptions.c: New.
      	* config/ia64/t-softfp (LIB2ADD): Add sfp-exceptions.c.
      
      From-SVN: r188520
      Uros Bizjak committed
    • sfp-machine.h (_FP_NANSIGN_S, [...]): Move ... · bb5c97d4
      	* config/i386/32/sfp-machine.h (_FP_NANSIGN_S, _FP_NANSIGN_D,
      	_FP_NANSIGN_E, _FP_NANSIGN_Q): Move ...
      	* config/i386/64/sfp-machine: ... (delete here) ...
      	* config/i386/sfp-machine.h: ... to here.
      	(FP_EX_MASK): Remove.
      	(FP_RND_MASK): New.
      	(FP_INIT_ROUNDMODE): Declare asm as volatile.
      
      From-SVN: r188518
      Uros Bizjak committed
    • tree-vrp.c (vrp_meet): Properly meet equivalent ranges. · cf35667e
      2012-06-13  Richard Guenther  <rguenther@suse.de>
      
      	* tree-vrp.c (vrp_meet): Properly meet equivalent ranges.
      	Handle meeting two VR_RANGE to an VR_ANTI_RANGE.  Implement
      	all possible meetings of VR_RANGE with VR_ANTI_RANGE and
      	VR_ANTI_RANGE with VR_ANTI_RANGE.
      
      From-SVN: r188517
      Richard Guenther committed
    • Revert · 31e3bc1b
      	2012-05-19  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
      	(gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
      	calling convention
      	(get_minimal_subprog_decl): Likewise.
      	(gnat_first_param_is_class): New predicate.
      
      From-SVN: r188512
      Eric Botcazou committed
    • config.gcc (unsupported): Move obsoleted FPA-based configurations here from ... · c4cc7bc1
      	* config.gcc (unsupported): Move obsoleted FPA-based configurations
      	here from ...
      	(obsolete): ... here.
      	(arm*-*-freebsd*): Remove.
      	(arm*-*-linux*): Only accept EABI variants.  Simplify logic.
      	(arm*-*-uclinux*): Likewise.
      	(arm*-*-ecos-elf): Remove.
      	(arm*-*-rtems*): Remove.
      	(arm*-*-elf): Remove.
      	(arm*-wince-pe*): Remove.
      	(arm, --with-fpu): Remove support for fpa and Maverick variants.
      	* arm/ecos-elf.h: Delete.
      	* arm/t-strongarm-elf: Delete.
      	* arm/rtems-elf.h: Delete.
      	* arm/wince-pe.h: Delete.
      	* arm/pe.c: Delete.
      	* arm/pe.h: Delete.
      	* arm/t-wince-pe: Delete.
      
      From-SVN: r188510
      Richard Earnshaw committed
    • re PR tree-optimization/53647 (gcc.c-torture/compile/20011229-1.c and… · 7ef58a1a
      re PR tree-optimization/53647 (gcc.c-torture/compile/20011229-1.c and gcc.c-torture/compile/pr25311.c)
      
      2012-06-13  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	PR tree-optimization/53647
      	* tree-ssa-phiopt.c (gate_hoist_loads): Skip transformation for
      	targets with no defined cache line size.
      
      From-SVN: r188509
      Bill Schmidt committed
    • targhooks.c (default_builtin_vectorized_conversion): Handle vec_construct, using… · a21892ad
      targhooks.c (default_builtin_vectorized_conversion): Handle vec_construct, using vectype to base cost on subparts.
      
      2012-06-13  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	* targhooks.c (default_builtin_vectorized_conversion): Handle
      	vec_construct, using vectype to base cost on subparts.
      	* target.h (enum vect_cost_for_stmt): Add vec_construct.
      	* tree-vect-stmts.c (vect_model_load_cost): Use vec_construct
      	instead of scalar_to-vec.
      	* config/spu/spu.c (spu_builtin_vectorization_cost): Handle
      	vec_construct in same way as default for now.
      	* config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
      	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
      	Handle vec_construct, including special case for 32-bit loads.
      
      From-SVN: r188508
      Bill Schmidt committed
    • re PR fortran/53643 ([OOP] ICE (segfault) with INTENT(OUT) CLASS array) · 2be13164
      2012-06-13  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/53643
              * trans-decl.c (init_intent_out_dt): Fix for polymorphic arrays.
              * trans-array.c (structure_alloc_comps): Don't loop for
              scalar coarrays.
      
      2012-06-13  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/53643
              * gfortran.dg/intent_out_7.f90: New.
      
      From-SVN: r188507
      Tobias Burnus committed
    • re PR fortran/53597 (F95/F2003 constraint no longer triggers: un-SAVED… · d1f6dfe6
      re PR fortran/53597 (F95/F2003 constraint no longer triggers: un-SAVED default-initialized module variable)
      
      2012-06-13  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/53597
              * decl.c (match_attr_spec): Only mark module variables
              as SAVE_IMPLICIT for Fortran 2008 and later.
      
      2012-06-13  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/53597
              * gfortran.dg/save_4.f90: New.
      
      From-SVN: r188506
      Tobias Burnus committed
    • * ChangeLog: Fix whitespace. · 9c78662a
      From-SVN: r188505
      Uros Bizjak committed
    • * ChangeLog: Fix whitespace. · a3fac361
      From-SVN: r188504
      Uros Bizjak committed
    • arm.c (FL_IWMMXT2): New define. · 8fd03515
      	* config/arm/arm.c (FL_IWMMXT2): New define.
      	(arm_arch_iwmmxt2): New variable.
      	(arm_option_override): Enable use of iWMMXt with VFP.
      	Disable use of iWMMXt with NEON. Disable use of iWMMXt under
      	Thumb mode. Set arm_arch_iwmmxt2.
      	(arm_expand_binop_builtin): Accept VOIDmode op.
      	(enum arm_builtins): Revise built-in fcode.
      	(IWMMXT2_BUILTIN): New define.
      	(IWMMXT2_BUILTIN2): Likewise.
      	(iwmmx2_mbuiltin): Likewise.
      	(builtin_description bdesc_2arg): Revise built in declaration.
      	(builtin_description bdesc_1arg): Likewise.
      	(arm_init_iwmmxt_builtins): Revise built in initialization.
      	(arm_expand_builtin): Revise built in expansion.
      	(arm_output_iwmmxt_shift_immediate): New function.
      	(arm_output_iwmmxt_tinsr): Likewise.
      	* config/arm/arm-protos.h (arm_output_iwmmxt_shift_immediate): Declare.
      	(arm_output_iwmmxt_tinsr): Likewise.
      	* config/arm/iwmmxt.md (WCGR0, WCGR1, WCGR2, WCGR3): New constant.
      	(iwmmxt_psadbw, iwmmxt_walign, iwmmxt_tmrc, iwmmxt_tmcr): Delete.
      	(rorv4hi3, rorv2si3, rordi3): Likewise.
      	(rorv4hi3_di, rorv2si3_di, rordi3_di): Likewise.
      	(ashrv4hi3_di, ashrv2si3_di, ashrdi3_di): Likewise.
      	(lshrv4hi3_di, lshrv2si3_di, lshrdi3_di): Likewise.
      	(ashlv4hi3_di, ashlv2si3_di, ashldi3_di): Likewise.
      	(iwmmxt_tbcstqi, iwmmxt_tbcsthi, iwmmxt_tbcstsi): Likewise
      	(*iwmmxt_clrv8qi, *iwmmxt_clrv4hi, *iwmmxt_clrv2si): Likewise.
      	(tbcstv8qi, tbcstv4hi, tbsctv2si): New pattern.
      	(iwmmxt_clrv8qi, iwmmxt_clrv4hi, iwmmxt_clrv2si): Likewise.
      	(*and<mode>3_iwmmxt, *ior<mode>3_iwmmxt, *xor<mode>3_iwmmxt): Likewise.
      	(ror<mode>3, ror<mode>3_di): Likewise.
      	(ashr<mode>3_di, lshr<mode>3_di, ashl<mode>3_di): Likewise.
      	(ashli<mode>3_iwmmxt, iwmmxt_waligni, iwmmxt_walignr): Likewise.
      	(iwmmxt_walignr0, iwmmxt_walignr1): Likewise.
      	(iwmmxt_walignr2, iwmmxt_walignr3): Likewise.
      	(iwmmxt_setwcgr0, iwmmxt_setwcgr1): Likewise.
      	(iwmmxt_setwcgr2, iwmmxt_setwcgr3): Likewise.
      	(iwmmxt_getwcgr0, iwmmxt_getwcgr1): Likewise.
      	(iwmmxt_getwcgr2, iwmmxt_getwcgr3): Likewise.
      	(All instruction patterns): Add wtype attribute.
      	(*iwmmxt_arm_movdi, *iwmmxt_movsi_insn): iWMMXt coexist with vfp.
      	(iwmmxt_uavgrndv8qi3, iwmmxt_uavgrndv4hi3): Revise the pattern.
      	(iwmmxt_uavgv8qi3, iwmmxt_uavgv4hi3): Likewise.
      	(ashr<mode>3_iwmmxt, ashl<mode>3_iwmmxt, lshr<mode>3_iwmmxt): Likewise.
      	(iwmmxt_tinsrb, iwmmxt_tinsrh, iwmmxt_tinsrw):Likewise.
      	(eqv8qi3, eqv4hi3, eqv2si3, gtuv8qi3): Likewise.
      	(gtuv4hi3, gtuv2si3, gtv8qi3, gtv4hi3, gtv2si3): Likewise.
      	(iwmmxt_wunpckihh, iwmmxt_wunpckihw, iwmmxt_wunpckilh): Likewise.
      	(iwmmxt_wunpckilw, iwmmxt_wunpckehub, iwmmxt_wunpckehuh): Likewise.
      	(iwmmxt_wunpckehuw, iwmmxt_wunpckehsb, iwmmxt_wunpckehsh): Likewise.
      	(iwmmxt_wunpckehsw, iwmmxt_wunpckelub, iwmmxt_wunpckeluh): Likewise.
      	(iwmmxt_wunpckeluw, iwmmxt_wunpckelsb, iwmmxt_wunpckelsh): Likewise.
      	(iwmmxt_wunpckelsw, iwmmxt_wmadds, iwmmxt_wmaddu): Likewise.
      	(iwmmxt_wsadb, iwmmxt_wsadh, iwmmxt_wsadbz, iwmmxt_wsadhz): Likewise.
      	(iwmmxt2.md): Include.
      	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __IWMMXT2__.
      	(TARGET_IWMMXT2): New define.
      	(TARGET_REALLY_IWMMXT2): Likewise.
      	(arm_arch_iwmmxt2): Declare.
      	* config/arm/mmintrin.h: Use __IWMMXT__ to enable iWMMXt intrinsics.
      	Use __IWMMXT2__ to enable iWMMXt2 intrinsics.
      	Use C name-mangling for intrinsics.
      	(__v8qi): Redefine.
      	(_mm_cvtsi32_si64, _mm_andnot_si64, _mm_sad_pu8): Revise.
      	(_mm_sad_pu16, _mm_align_si64, _mm_setwcx, _mm_getwcx): Likewise.
      	(_m_from_int): Likewise.
      	(_mm_sada_pu8, _mm_sada_pu16): New intrinsic.
      	(_mm_alignr0_si64, _mm_alignr1_si64, _mm_alignr2_si64): Likewise.
      	(_mm_alignr3_si64, _mm_tandcb, _mm_tandch, _mm_tandcw): Likewise.
      	(_mm_textrcb, _mm_textrch, _mm_textrcw, _mm_torcb): Likewise.
      	(_mm_torch, _mm_torcw, _mm_tbcst_pi8, _mm_tbcst_pi16): Likewise.
      	(_mm_tbcst_pi32): Likewise.
      	(_mm_abs_pi8, _mm_abs_pi16, _mm_abs_pi32): New iWMMXt2 intrinsic.
      	(_mm_addsubhx_pi16, _mm_absdiff_pu8, _mm_absdiff_pu16): Likewise.
      	(_mm_absdiff_pu32, _mm_addc_pu16, _mm_addc_pu32): Likewise.
      	(_mm_avg4_pu8, _mm_avg4r_pu8, _mm_maddx_pi16, _mm_maddx_pu16): Likewise.
      	(_mm_msub_pi16, _mm_msub_pu16, _mm_mulhi_pi32): Likewise.
      	(_mm_mulhi_pu32, _mm_mulhir_pi16, _mm_mulhir_pi32): Likewise.
      	(_mm_mulhir_pu16, _mm_mulhir_pu32, _mm_mullo_pi32): Likewise.
      	(_mm_qmulm_pi16, _mm_qmulm_pi32, _mm_qmulmr_pi16): Likewise.
      	(_mm_qmulmr_pi32, _mm_subaddhx_pi16, _mm_addbhusl_pu8): Likewise.
      	(_mm_addbhusm_pu8, _mm_qmiabb_pi32, _mm_qmiabbn_pi32): Likewise.
      	(_mm_qmiabt_pi32, _mm_qmiabtn_pi32, _mm_qmiatb_pi32): Likewise.
      	(_mm_qmiatbn_pi32, _mm_qmiatt_pi32, _mm_qmiattn_pi32): Likewise.
      	(_mm_wmiabb_si64, _mm_wmiabbn_si64, _mm_wmiabt_si64): Likewise.
      	(_mm_wmiabtn_si64, _mm_wmiatb_si64, _mm_wmiatbn_si64): Likewise.
      	(_mm_wmiatt_si64, _mm_wmiattn_si64, _mm_wmiawbb_si64): Likewise.
      	(_mm_wmiawbbn_si64, _mm_wmiawbt_si64, _mm_wmiawbtn_si64): Likewise.
      	(_mm_wmiawtb_si64, _mm_wmiawtbn_si64, _mm_wmiawtt_si64): Likewise.
      	(_mm_wmiawttn_si64, _mm_merge_si64): Likewise.
      	(_mm_torvscb, _mm_torvsch, _mm_torvscw): Likewise.
      	(_m_to_int): New define.
      	* config/arm/arm-cores.def (iwmmxt2): Add FL_IWMMXT2.
      	* config/arm/arm-arches.def (iwmmxt2): Likewise.
      	* config/arm/t-arm (MD_INCLUDES): Add marvell-f-iwmmxt.md and
      	iwmmxt2.md.
      	* config/arm/arm.md (marvell-f-iwmmxt.md): Include.
      	(arch): Add "iwmmxt2".
      	(arch_enabled): Handle "iwmmxt2".
      	(wtype): New attribute.
      	(UNSPEC_WMADDS, UNSPEC_WMADDU): Delete.
      	(UNSPEC_WALIGNI): New unspec.
      	* config/arm/predicates.md (imm_or_reg_operand): New predicate.
      	* config/arm/iterators.md (VMMX2): New mode_iterator.
      	* config/arm/marvell-f-iwmmxt.md: New file.
      	* config/arm/iwmmxt2.md: New file.
      
      From-SVN: r188497
      Xinyu Qi committed