1. 12 Aug, 2014 21 commits
  2. 11 Aug, 2014 19 commits
    • s-osinte-rtems.adb: Correct formatting of line in license block. · a001528d
      2014-08-11  Joel Sherrill <joel.sherrill@oarcorp.com>
      
      	* s-osinte-rtems.adb: Correct formatting of line in license block.
      
      From-SVN: r213840
      Joel Sherrill committed
    • Revert last change. · 31fd809b
      From-SVN: r213835
      John David Anglin committed
    • constraints.md (wh constraint): New constraint, for FP registers if direct move is available. · 59f5868d
      2014-08-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/constraints.md (wh constraint): New constraint,
      	for FP registers if direct move is available.
      	(wi constraint): New constraint, for VSX/FP registers that can
      	handle 64-bit integers.
      	(wj constraint): New constraint for VSX/FP registers that can
      	handle 64-bit integers for direct moves.
      	(wk constraint): New constraint for VSX/FP registers that can
      	handle 64-bit doubles for direct moves.
      	(wy constraint): Make documentation match implementation.
      
      	* config/rs6000/rs6000.c (struct rs6000_reg_addr): Add
      	scalar_in_vmx_p field to simplify tests of whether SFmode or
      	DFmode can go in the Altivec registers.
      	(rs6000_hard_regno_mode_ok): Use scalar_in_vmx_p field.
      	(rs6000_setup_reg_addr_masks): Likewise.
      	(rs6000_debug_print_mode): Add debug support for scalar_in_vmx_p
      	field, and wh/wi/wj/wk constraints.
      	(rs6000_init_hard_regno_mode_ok): Setup scalar_in_vmx_p field, and
      	the wh/wi/wj/wk constraints.
      	(rs6000_preferred_reload_class): If SFmode/DFmode can go in the
      	upper registers, prefer VSX registers unless the operation is a
      	memory operation with REG+OFFSET addressing.
      
      	* config/rs6000/vsx.md (VSr mode attribute): Add support for
      	DImode.  Change SFmode to use ww constraint instead of d to allow
      	SF registers in the upper registers.
      	(VSr2): Likewise.
      	(VSr3): Likewise.
      	(VSr5): Fix thinko in comment.
      	(VSa): New mode attribute that is an alternative to wa, that
      	returns the VSX register class that a mode can go in, but may not
      	be the preferred register class.
      	(VS_64dm): New mode attribute for appropriate register classes for
      	referencing 64-bit elements of vectors for direct moves and normal
      	moves.
      	(VS_64reg): Likewise.
      	(vsx_mov<mode>): Change wa constraint to <VSa> to limit the
      	register allocator to only registers the data type can handle.
      	(vsx_le_perm_load_<mode>): Likewise.
      	(vsx_le_perm_store_<mode>): Likewise.
      	(vsx_xxpermdi2_le_<mode>): Likewise.
      	(vsx_xxpermdi4_le_<mode>): Likewise.
      	(vsx_lxvd2x2_le_<mode>): Likewise.
      	(vsx_lxvd2x4_le_<mode>): Likewise.
      	(vsx_stxvd2x2_le_<mode>): Likewise.
      	(vsx_add<mode>3): Likewise.
      	(vsx_sub<mode>3): Likewise.
      	(vsx_mul<mode>3): Likewise.
      	(vsx_div<mode>3): Likewise.
      	(vsx_tdiv<mode>3_internal): Likewise.
      	(vsx_fre<mode>2): Likewise.
      	(vsx_neg<mode>2): Likewise.
      	(vsx_abs<mode>2): Likewise.
      	(vsx_nabs<mode>2): Likewise.
      	(vsx_smax<mode>3): Likewise.
      	(vsx_smin<mode>3): Likewise.
      	(vsx_sqrt<mode>2): Likewise.
      	(vsx_rsqrte<mode>2): Likewise.
      	(vsx_tsqrt<mode>2_internal): Likewise.
      	(vsx_fms<mode>4): Likewise.
      	(vsx_nfma<mode>4): Likewise.
      	(vsx_eq<mode>): Likewise.
      	(vsx_gt<mode>): Likewise.
      	(vsx_ge<mode>): Likewise.
      	(vsx_eq<mode>_p): Likewise.
      	(vsx_gt<mode>_p): Likewise.
      	(vsx_ge<mode>_p): Likewise.
      	(vsx_xxsel<mode>): Likewise.
      	(vsx_xxsel<mode>_uns): Likewise.
      	(vsx_copysign<mode>3): Likewise.
      	(vsx_float<VSi><mode>2): Likewise.
      	(vsx_floatuns<VSi><mode>2): Likewise.
      	(vsx_fix_trunc<mode><VSi>2): Likewise.
      	(vsx_fixuns_trunc<mode><VSi>2): Likewise.
      	(vsx_x<VSv>r<VSs>i): Likewise.
      	(vsx_x<VSv>r<VSs>ic): Likewise.
      	(vsx_btrunc<mode>2): Likewise.
      	(vsx_b2trunc<mode>2): Likewise.
      	(vsx_floor<mode>2): Likewise.
      	(vsx_ceil<mode>2): Likewise.
      	(vsx_<VS_spdp_insn>): Likewise.
      	(vsx_xscvspdp): Likewise.
      	(vsx_xvcvspuxds): Likewise.
      	(vsx_float_fix_<mode>2): Likewise.
      	(vsx_set_<mode>): Likewise.
      	(vsx_extract_<mode>_internal1): Likewise.
      	(vsx_extract_<mode>_internal2): Likewise.
      	(vsx_extract_<mode>_load): Likewise.
      	(vsx_extract_<mode>_store): Likewise.
      	(vsx_splat_<mode>): Likewise.
      	(vsx_xxspltw_<mode>): Likewise.
      	(vsx_xxspltw_<mode>_direct): Likewise.
      	(vsx_xxmrghw_<mode>): Likewise.
      	(vsx_xxmrglw_<mode>): Likewise.
      	(vsx_xxsldwi_<mode>): Likewise.
      	(vsx_xscvdpspn): Tighten constraints to only use register classes
      	the types use.
      	(vsx_xscvspdpn): Likewise.
      	(vsx_xscvdpspn_scalar): Likewise.
      
      	* config/rs6000/rs6000.h (enum rs6000_reg_class_enum): Add wh, wi,
      	wj, and wk constraints.
      	(GPR_REG_CLASS_P): New helper macro for register classes targeting
      	general purpose registers.
      
      	* config/rs6000/rs6000.md (f32_dm): Use wh constraint for SDmode
      	direct moves.
      	(zero_extendsidi2_lfiwz): Use wj constraint for direct move of
      	DImode instead of wm.  Use wk constraint for direct move of DFmode
      	instead of wm.
      	(extendsidi2_lfiwax): Likewise.
      	(lfiwax): Likewise.
      	(lfiwzx): Likewise.
      	(movdi_internal64): Likewise.
      
      	* doc/md.texi (PowerPC and IBM RS6000): Document wh, wi, wj, and
      	wk constraints. Make the wy constraint documentation match them
      	implementation.
      
      From-SVN: r213834
      Michael Meissner committed
    • compiler: Change return type comma-ok assignments to untyped bools. · 69b682f2
      Fixes https://code.google.com/p/go/issues/detail?id=8476. The test will be submitted once this is fixed in gc and go/types.
      
      From-SVN: r213833
      Ian Lance Taylor committed
    • compiler: Change return type comma-ok assignments to untyped bools. · 17d9767f
      Fixes https://code.google.com/p/go/issues/detail?id=8476. The test will be submitted once this is fixed in gc and go/types.
      
      From-SVN: r213832
      Ian Lance Taylor committed
    • re PR target/62038 (Out of range branch target in thunk) · b2f86285
      	PR target/62038
      	* config/pa/pa.c (pa_asm_output_mi_thunk): Use a branch with %r31 link
      	register.
      
      From-SVN: r213829
      John David Anglin committed
    • frame-pointer-1.c: Skip if Thumb is not supported. · e2e4599a
      	* gcc.target/arm/frame-pointer-1.c: Skip if Thumb is not supported.
      	* gcc.target/arm/pr56184.C: Likewise.
      	* gcc.target/arm/pr59896.c: Likewise.
      	* gcc.target/arm/stack-red-zone.c: Likewise.
      	* gcc.target/arm/thumb-find-work-register.c: Likewise.
      
      From-SVN: r213819
      Janis Johnson committed
    • target-supports.exp (check_effective_target_arm_thumb1_ok, [...]): Test with… · 904b40e7
      target-supports.exp (check_effective_target_arm_thumb1_ok, [...]): Test with code that passes an argument and returns a result.
      
      	* lib/target-supports.exp (check_effective_target_arm_thumb1_ok,
      	check_effective_target_arm_thumb2_ok): Test with code that passes
      	an argument and returns a result.
      
      From-SVN: r213818
      Janis Johnson committed
    • Replacement of isl_int by isl_val · b47595f7
      From-SVN: r213816
      Mircea Namolaru committed
    • re PR tree-optimization/62075 (Vectorizer ICE on dolphin) · 7cadcdc1
      2014-08-11  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/62075
      	* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Properly
      	handle uses in patterns.
      
      	* gcc.dg/vect/pr62075.c: New testcase.
      
      From-SVN: r213815
      Richard Biener committed
    • gcc/ · f4af595f
              * common/config/i386/i386-common.c
      	(OPTION_MASK_ISA_AVX512VL_SET): Define.
      	(OPTION_MASK_ISA_AVX512F_UNSET): Update.
      	(ix86_handle_option): Handle OPT_mavx512vl.
      	* config/i386/cpuid.h (bit_AVX512VL): Define.
      	* config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512vl,
      	set -mavx512vl accordingly.
      	* config/i386/i386-c.c (ix86_target_macros_internal): Handle
      	OPTION_MASK_ISA_AVX512VL.
      	* config/i386/i386.c (ix86_target_string): Handle -mavx512vl.
      	(ix86_option_override_internal): Define PTA_AVX512VL, handle
      	PTA_AVX512VL and OPTION_MASK_ISA_AVX512VL.
      	(ix86_valid_target_attribute_inner_p): Handle OPT_mavx512vl.
      	* config/i386/i386.h (TARGET_AVX512VL): Define.
      	(TARGET_AVX512VL_P(x)): Ditto.
      	* config/i386/i386.opt: Add mavx512vl.
      
      
      Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
      Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
      Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r213813
      Alexander Ivchenko committed
    • re PR c/62073 (Segmentation fault with tree vectorize) · d4759fc6
      2014-08-11  Felix Yang  <fei.yang0953@gmail.com>
      
      	PR tree-optimization/62073
      	* tree-vect-loop.c (vect_is_simple_reduction_1): Check that DEF1 has
      	a basic block.
      
      	* gcc.dg/vect/pr62073.c: New test.
      
      From-SVN: r213812
      Felix Yang committed
    • i386-common.c (OPTION_MASK_ISA_AVX512BW_SET): Define. · b525d943
      gcc/
              * common/config/i386/i386-common.c
      	(OPTION_MASK_ISA_AVX512BW_SET) : Define.
      	(OPTION_MASK_ISA_AVX512BW_UNSET): Ditto.
      	(OPTION_MASK_ISA_AVX512VL_UNSET) : Ditto.
      	(ix86_handle_option): Handle OPT_mavx512bw.
      	* config/i386/cpuid.h (bit_AVX512BW): Define.
      	* config/i386/driver-i386.c (host_detect_local_cpu): Detect avx512bw,
      	set -mavx512bw accordingly.
      	* config/i386/i386-c.c (ix86_target_macros_internal): Handle
      	OPTION_MASK_ISA_AVX512BW.
      	* config/i386/i386.c (ix86_target_string): Handle -mavx512bw.
      	(ix86_option_override_internal): Define PTA_AVX512BW, handle
      	PTA_AVX512BW and OPTION_MASK_ISA_AVX512BW.
      	(ix86_valid_target_attribute_inner_p): Handle OPT_mavx512bw.
      	* config/i386/i386.h (TARGET_AVX512BW): Define.
      	(TARGET_AVX512BW_P(x)): Ditto.
      	* config/i386/i386.opt: Add mavx512bw.
      
      
      Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
      Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
      Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
      Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
      Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
      Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r213811
      Alexander Ivchenko committed
    • re PR tree-optimization/62070 (ICE: verify_ssa failed) · 5f732aeb
      2014-08-11  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/62070
      	* tree-ssa-loop-manip.c (gimple_duplicate_loop_to_header_edge):
      	Remove SSA checking.
      
      	* gcc.dg/pr62070.c: New testcase.
      
      From-SVN: r213810
      Richard Biener committed
    • re PR fortran/61950 (Many 64-bit fortran allocate tests FAIL) · 5ff0f237
      2014-08-11  Richard Biener  <rguenther@suse.de>
      
              PR fortran/61950
      	* trans-expr.c (gfc_conv_structure): Initialize _size with
      	a value of proper type.
      
      From-SVN: r213809
      Richard Biener committed
    • texi2pod.pl (postprocess): Move command process for '@sc' to the front of '@dfn'. · 6f853fd4
      	* texi2pod.pl (postprocess): Move command process for '@sc' to the
      	front of '@dfn'.  Add a new command process for '@t{...}', just print
      	the content.
      
      From-SVN: r213808
      Mingjie Xing committed
    • Move inlining of Asan memory checks to sanopt pass. · c62ccb9a
      Change asan-instrumentation-with-call-threshold to more closely match LLVM.
      
      2014-08-11  Yury Gribov  <y.gribov@samsung.com>
      
      gcc/
      	* asan.c (asan_check_flags): New enum.
      	(build_check_stmt_with_calls): Removed function.
      	(build_check_stmt): Split inlining logic to
      	asan_expand_check_ifn.
      	(instrument_derefs): Rename parameter.
      	(instrument_mem_region_access): Rename parameter.
      	(instrument_strlen_call): Likewise.
      	(asan_expand_check_ifn): New function.
      	(asan_instrument): Remove old code.
      	(pass_sanopt::execute): Change handling of
      	asan-instrumentation-with-call-threshold.
      	(asan_clear_shadow): Fix formatting.
      	(asan_function_start): Likewise.
      	(asan_emit_stack_protection): Likewise.
      	* doc/invoke.texi (asan-instrumentation-with-call-threshold):
      	Update description.
      	* internal-fn.c (expand_ASAN_CHECK): New function.
      	* internal-fn.def (ASAN_CHECK): New internal function.
      	* params.def (PARAM_ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD):
      	Update description.
      	(PARAM_ASAN_USE_AFTER_RETURN): Likewise.
      	* tree.c: Small comment fix.
      
      gcc/testsuite/
      	* c-c++-common/asan/inc.c: Update test.
      	* c-c++-common/asan/instrument-with-calls-2.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-1.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-2.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-3.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-4.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-5.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-6.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-7.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-8.c: Likewise.
      	* c-c++-common/asan/no-redundant-instrumentation-9.c: Likewise.
      
      From-SVN: r213807
      Yury Gribov committed
    • Added fnspec to internal functions. · b78475cf
      2014-08-11  Yury Gribov  <y.gribov@samsung.com>
      
      gcc/
              * gimple.c (gimple_call_fnspec): Support internal functions.
              (gimple_call_return_flags): Use const.
              * Makefile.in (GTFILES): Add internal-fn.h to list of GC files.
              * internal-fn.def: Add fnspec information.
              * internal-fn.h (internal_fn_fnspec): New function.
              (init_internal_fns): Declare new function.
              * internal-fn.c (internal_fn_fnspec_array): New global variable.
              (init_internal_fns): New function.
              * tree-core.h: Update macro call.
              * tree.c (build_common_builtin_nodes): Initialize internal fns.
      
      From-SVN: r213806
      Yury Gribov committed
    • lto-streamer.h (struct output_block::symbol): Change from struct symtab_node to plain symtab_node. · f473c082
      	* lto-streamer.h (struct output_block::symbol): Change from
      	struct symtab_node to plain symtab_node.
      	(referenced_from_this_partition_p): Change first parameter
      	from struct symtab_node to plain symtab_node.
      
      From-SVN: r213805
      Gerald Pfeifer committed