1. 04 Nov, 2016 6 commits
  2. 03 Nov, 2016 21 commits
    • re PR target/78192 (extract from vector registers to int results in wrong data order) · f2834ebc
      2016-11-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/78192
      	* config/rs6000/vsx.md (vsx_extract_<mode>_di): The element number
      	has already been adjusted for endianness, so don't adjust it any
      	further.
      
      From-SVN: r241834
      Michael Meissner committed
    • re PR bootstrap/77993 (bootstrap failure on PowerPC/Linux) · 0bc36dec
      2016-11-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/77993
      	* config/rs6000/rs6000.h (FLOAT128_IBM_P): Do not allow IFmode or
      	ICmode unless we have standard PowerPC floating point.
      	* config/rs6000/rs6000.md (FP iterator): Likewise.
      	(FMOVE128 iterator): Likewise.
      
      From-SVN: r241833
      Michael Meissner committed
    • re PR debug/28767 (GCC should output DW_TAG_ptr_to_member for member functions) · 6905c577
      	PR debug/28767
      	PR debug/56974
      	* langhooks.h (struct lang_hooks_for_types): Add type_dwarf_attribute
      	langhook.
      	* langhooks.c (lhd_type_dwarf_attribute): New function.
      	* langhooks-def.h (lhd_type_dwarf_attribute): Declare.
      	(LANG_HOOKS_TYPE_DWARF_ATTRIBUTE): Define.
      	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add
      	LANG_HOOKS_TYPE_DWARF_ATTRIBUTE.
      	(check_qualified_type, check_aligned_type): Call it.
      	* dwarf2out.c (modified_type_die): Don't use type_main_variant
      	for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with
      	check_base_type and check_lang_type.
      	(gen_ptr_to_mbr_type_die): If lookup_type_die is already non-NULL,
      	return early.  For pointer-to-data-member add DW_AT_use_location
      	attribute.
      	(gen_subroutine_type_die): Add DW_AT_{,rvalue_}reference attribute
      	if needed.
      	(gen_type_die_with_usage): Don't use type_main_variant
      	for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with
      	check_base_type and check_lang_type.  Formatting fixes. Call
      	get_debug_type langhook.
      cp/
      	* tree.c (cp_check_qualified_type): Use check_base_type and
      	TYPE_QUALS comparison instead of check_qualified_type.
      	(cxx_type_hash_eq): Return false if type_memfn_rqual don't match.
      	* cp-objcp-common.c (cp_get_debug_type): New function.
      	(cp_decl_dwarf_attribute): Don't handle types here.
      	(cp_type_dwarf_attribute): New function.
      	* cp-objcp-common.h (cp_get_debug_type, cp_type_dwarf_attribute):
      	Declare.
      	(LANG_HOOKS_GET_DEBUG_TYPE, LANG_HOOKS_TYPE_DWARF_ATTRIBUTE):
      	Define.
      testsuite/
      	* g++.dg/debug/dwarf2/ptrdmem-1.C: New test.
      	* g++.dg/debug/dwarf2/ref-3.C: New test.
      	* g++.dg/debug/dwarf2/ref-4.C: New test.
      	* g++.dg/debug/dwarf2/refqual-1.C: New test.
      	* g++.dg/debug/dwarf2/refqual-2.C: New test.
      
      From-SVN: r241832
      Jakub Jelinek committed
    • Use type_hash_eq langhook in check_qualified_type. · 1906d6b4
      gcc/
      	* tree.c (check_lang_type): New.
      	(check_qualified_type): Use it.
      	(check_aligned_type): Use it.
      	* tree.h: Declare it.
      gcc/cp/
      	* tree.c (cp_check_qualified_type): Call check_base_type instead
      	of check_qualified_type.
      	(cxx_type_hash_eq): Check ref-qualifiers.
      	* typeck.c (apply_memfn_quals): No need to mess with TYPE_CANONICAL.
      
      From-SVN: r241831
      Jason Merrill committed
    • Add missing hunk from previous commit. · d3d3f1af
      From-SVN: r241829
      Richard Earnshaw committed
    • Default missing exponents to 0 with -fdec. · 6869e9c6
      	gcc/fortran/
      	* gfortran.texi: Document.
      	* gfortran.h (gfc_dt): New field default_exp.
      	* primary.c (match_real_constant): Default exponent with -fdec.
      	* io.c (match_io): Set dt.default_exp with -fdec.
      	* ioparm.def (IOPARM_dt_default_exp): New.
      	* trans-io.c (build_dt): Set IOPARM_dt_default_exp with -fdec.
      
      	libgfortran/io/
      	* io.h (IOPARM_DT_DEFAULT_EXP): New flag bit.
      	* list_read.c (parse_real, read_real): Allow omission of exponent with
      	IOPARM_DT_DEFAULT_EXP.
      	* read.c (read_f): Ditto.
      
      	gcc/testsuite/gfortran.dg/
      	* dec_exp_1.f90, dec_exp_2.f90, dec_exp_3.f90: New testcases.
      
      From-SVN: r241828
      Fritz Reese committed
    • [arm] Eliminate SUBTARGET_CPU_DEFAULT · 1bac673f
      	* config.gcc (arm-wrs-vxworks): Set target_cpu_cname.
      	(arm*-freebsd*): Likewise.
      	(arm*-*-netbsdelf*): Likewise.
      	(arm*-*-linux*): Likewise.
      	(arm*-*-uclinux*eabi*): Likewise.
      	(arm*-*-phoenix*): Likewise.
      	(arm*-*-eabi*, arm*-*-symbianelf*, arm*-*-rtems*): Likewise.
      	(arm*-*-*): Don't clobber target_cpu_cname when --with-cpu is not
      	specified.  Default to arm6 if target_cpu_cname is not set.
      	* arm/arm.c (arm_option_override): Simplify logic.  Assert that the
      	default cpu has been correctly configured.
      	* arm/arm.h (TARGET_CPU_DEFAULT): Delete.
      	(target_cpus): Delete TARGET_CPU_generic, add TARGET_CPU_num_cores.
      	* arm/freebsd.h (SUBTARGET_CPU_DEFAULT): Delete.
      	* arm/linux-eabi.h (SUBTARGET_CPU_DEFAULT): Delete.
      	* arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Delete.
      	* arm/symbian.h (SUBTARGET_CPU_DEFAULT): Delete.
      	* arm/unknown-elf.h (SUBTARGET_CPU_DEFAULT): Delete.
      
      From-SVN: r241827
      Richard Earnshaw committed
    • [DWARF] Enable DW_CFA_VAL_EXPRESSION support · ac5b3eff
      gcc/
      	* reg-notes.def (CFA_VAL_EXPRESSION): New entry.
      	* dwarf2cfi.c (dwarf2out_frame_debug_cfa_val_expression): New function.
      	(dwarf2out_frame_debug): Support REG_CFA_VAL_EXPRESSION.
      	(output_cfa_loc): Support DW_CFA_val_expression.
      	(output_cfa_loc_raw): Likewise.
      	(output_cfi): Likewise.
      	(output_cfi_directive): Likewise.
      	* dwarf2out.c (dw_cfi_oprnd1_desc): Support DW_CFA_val_expression.
      	(dw_cfi_oprnd2_desc): Likewise.
      	(mem_loc_descriptor): Recognize new pattern generated for value
      	expression.
      
      From-SVN: r241826
      Jiong Wang committed
    • combine lhs zero_extract fix (PR78186) · 122e3608
      
      	PR rtl-optimization/78186
      	* combine.c (change_zero_ext): Mask the RHS of a zero_extract as
      	well, when converting to IOR.
      
      From-SVN: r241824
      Segher Boessenkool committed
    • Support legacy PARAMETER statements with -std=legacy. · 35ea947f
      	gcc/fortran/
      	* decl.c (gfc_match_parameter): Allow omitted '()' with -std=legacy.
      	* parse.c (decode_statement): Match "parameter" before assignments.
      	* gfortran.texi: Document.
      
      	gcc/testsuite/gfortran.dg/
      	* dec_parameter_1.f: New test.
      	* dec_parameter_2.f90: Likewise.
      	* dec_parameter_3.f90: Likewise.
      	* dec_parameter_4.f90: Likewise.
      
      From-SVN: r241823
      Fritz O. Reese committed
    • sparc.md (vec_interleave_lowv8qi): Delete. · c0ae959b
      	* config/sparc/sparc.md (vec_interleave_lowv8qi): Delete.
      	(vec_interleave_highv8qi): Likewise.
      
      From-SVN: r241822
      Eric Botcazou committed
    • Make direct emission of time profiler counter · 7d29f8e3
      	* libgcov-profiler.c (__gcov_time_profiler): Remove.
      	(__gcov_time_profiler_atomic): Likewise.
      	* profile.c (instrument_values): Fix coding style.
      	(branch_prob): Use renamed function.
      	* tree-profile.c (init_ic_make_global_vars): Likewise.
      	(gimple_init_edge_profiler): Rename to
      	gimple_init_gcov_profiler.
      	tree_time_profiler_counter variable declaration.
      	(gimple_gen_time_profiler): Rewrite to do a direct gimple code
      	emission.
      	* value-prof.h: Remove an argument.
      	* gcc.dg/no_profile_instrument_function-attr-1.c: Update scanned
      	output.
      	* gcc.dg/tree-prof/time-profiler-3.c: New test.
      
      From-SVN: r241821
      Martin Liska committed
    • re PR libgcc/78067 (libgcc2 calls count_leading_zero with 0) · 5de3e2d8
      2016-11-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR libgcc/78067
              * libgcc2.c (__floatdisf, __floatdidf): Avoid undefined results from
              count_leading_zeros.
      
      testsuite:
      2016-11-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              PR libgcc/78067
              * gcc.dg/torture/fp-int-convert.h: Add more conversion tests.
      
      From-SVN: r241817
      Bernd Edlinger committed
    • rs6000.c (rs6000_xcoff_declare_object_name): Use symtab_node::get_create. · 4098e9b9
      2016-11-03  Richard Biener  <rguenther@suse.de>
      
              * config/rs6000/rs6000.c (rs6000_xcoff_declare_object_name): Use
              symtab_node::get_create.
      
      From-SVN: r241816
      Richard Biener committed
    • [rtlanal] Fix WORD_REGISTER_OPERATIONS condition in nonzero_bits · c096a329
      	* rtlanal.c (nonzero_bits1): Fix WORD_REGISTER_OPERATIONS condition.
      	Move comments into more natural position.
      
      From-SVN: r241815
      Kyrylo Tkachov committed
    • [ARC] Define SIZE_TYPE and PTRDIFF_TYPE correctly. · db64c64e
      This silences tons of -Wformat= warnings when building ARC Linux kernel
      with gcc 6.x (and restores the ARC gcc 4.8.x behaviour) which had
      similar fix.
      
      gcc/
      2016-11-03  Vineet Gupta  <vgupta@synopsys.com>
      
      	* config/arc/arc.h (SIZE_TYPE): Define as unsigned int.
      	(PTRDIFF_TYPE): Define as int.
      
      From-SVN: r241812
      Vineet Gupta committed
    • make targetm.gen_ccmp{first,next} take rtx_insn ** · cb4347e8
      gcc/ChangeLog:
      
      2016-11-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* ccmp.c (expand_ccmp_expr_1): Adjust.
      	(expand_ccmp_expr): Likewise.
      	(expand_ccmp_next): Likewise.
      	* config/aarch64/aarch64.c (aarch64_gen_ccmp_next): Likewise.
      	(aarch64_gen_ccmp_first): Likewise.
      	* doc/tm.texi: Regenerate.
      	* target.def (gen_ccmp_first): Change argument types to rtx_insn *.
      	(gen_ccmp_next): Likewise.
      
      From-SVN: r241811
      Trevor Saunders committed
    • tree-vect-loop.c (destroy_loop_vec_info): Handle cond_expr. · c12176d7
      	* tree-vect-loop.c (destroy_loop_vec_info): Handle cond_expr.
      	(vect_is_simple_reduction): Swap cond_reduction by inversion.
      
      From-SVN: r241810
      Bin Cheng committed
    • Fix bougs PR 78170 failure for avr · f03f0232
      The test defines int bitfields that are more than 16 bits wide, and this
      fails for the avr with its 16 bit integer size. Therefore, require
      effective target int32plus.
      
      gcc/testsuite/
      
      2016-11-03  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
      
      	* gcc.c-torture/execute/pr78170.c: Require int32plus.
      
      From-SVN: r241809
      Senthil Kumar Selvaraj committed
    • Daily bump. · 92c03683
      From-SVN: r241808
      GCC Administrator committed
  3. 02 Nov, 2016 13 commits
    • i386.c (ix86_init_libfuncs): New. · 7ce53bd9
      	* config/i386/i386.c (ix86_init_libfuncs): New.  Call
      	darwin_rename_builtins here.
      	(ix86_expand_divmod_libfunc): New.
      	(TARGET_INIT_LIBFUNCS): Unconditionally define to ix86_init_libfuncs.
      	(TARGET_EXPAND_DIVMOD_LIBFUNC): Define.
      
      From-SVN: r241805
      Uros Bizjak committed
    • Makefile.in (LIB2_DIVMOD_FUNCS): Add _divmoddi4. · 18362447
      	* Makefile.in (LIB2_DIVMOD_FUNCS): Add _divmoddi4.
      	* libgcc2.c (__divmoddi4): New function.
      	* libgcc2.h (__divmoddi4): Declare.
      	* libgcc-std.ver.in (GCC_7.0.0): New. Add __PFX_divmoddi4
      	and __PFX_divmodti4.
      
      From-SVN: r241804
      Uros Bizjak committed
    • nvptx.c (PTX_GANG_DEFAULT): Set to zero. · 6668eb45
      	gcc/
      	* config/nvptx/nvptx.c (PTX_GANG_DEFAULT): Set to zero.
      
      	libgomp/
      	* plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
      	to determine default geometry.
      	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
      	dimension.
      
      
      Co-Authored-By: Nathan Sidwell <nathan@acm.org>
      
      From-SVN: r241803
      Cesar Philippidis committed
    • xtensa: don't xfail gcc.c-torture/compile/20001226-1.c · bd17a9df
      With jump trampolines implemented in binutils since 2.25 and enabled by
      default this test no longer fails on xtensa.
      
      2016-11-02  Max Filippov  <jcmvbkbc@gmail.com>
      gcc/testsuite/
      	* gcc.c-torture/compile/20001226-1.c: Don't xfail on xtensa.
      
      From-SVN: r241801
      Max Filippov committed
    • xtensa: fix ICE on pr59037.c test · 9ae4ef4c
      xtensa gcc gets ICE on pr59037.c test because its xtensa_output_literal
      function cannot handle integer literals of sizes other than 4 and 8,
      whereas the test uses 16-byte int vector.
      Split integer literal formatting into the recursive function
      xtensa_output_integer_literal_parts capable of handling literals of any
      power of 2 size not less than 4.
      
      2016-11-02  Max Filippov  <jcmvbkbc@gmail.com>
      gcc/
      	* config/xtensa/xtensa.c (xtensa_output_integer_literal_parts):
      	New function.
      	(xtensa_output_literal): Use xtensa_output_integer_literal_parts
      	to format MODE_INT and MODE_PARTIAL_INT literals.
      
      From-SVN: r241800
      Max Filippov committed
    • rs6000: Disable shrink-wrap-separate for abi=spe (PR78168) · 302fd2cc
      With the SPE ABI, if we wrap GPRs we need to handle the upper half of the
      extended 64-bit registers as well, which we cannot easily do.  So, this
      patch disables separate shrink-wrapping for the SPE ABI.
      
      
      	PR target/78168
      	* config/r6000/rs6000.c (rs6000_get_separate_components): Return
      	NULL if TARGET_SPE_ABI.
      
      From-SVN: r241799
      Segher Boessenkool committed
    • Fix for big-endian gcc.c-torture/execute/pr55750.c · b231822d
      	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Don't forget to
      	clear padding bits even when they're less than a byte.
      
      From-SVN: r241798
      Kyrylo Tkachov committed
    • Fix failing vminnm/vmaxnm test on ARM. · 2b01aad6
      	* gcc.target/arm/simd/vmaxnm_f32_1.c (dg-require-effective-target):
      	Check for arm_v8_neon_hw.
      	* gcc.target/arm/simd/vmaxnmq_f32_1.c (dg-require-effective-target):
      	Likewise.
      	* gcc.target/arm/simd/vminnm_f32_1.c (dg-require-effective-target):
      	Likewise.
      	* gcc.target/arm/simd/vminnmq_f32_1.c(dg-require-effective-target):
      	Likewise.
      
      From-SVN: r241797
      Tamar Christina committed
    • gimple-ssa-store-merging.c: Include gimplify-me.h. · aa55dc0c
      2016-11-02  Richard Biener  <rguenther@suse.de>
      
      	* gimple-ssa-store-merging.c: Include gimplify-me.h.
      	(imm_store_chain_info::output_merged_stores): Force base_addr
      	to be proper GIMPLE for a MEM_REF address.
      	(pass_store_merging::execute): Restrict negative bitpos
      	handling to non-MEM_REF bases.  Remove TREE_THIS_VOLATILE
      	check.  Take into account non-NULL_TREE offset if the base
      	is already addressable.
      
      	* gcc.dg/store_merging_8.c: New testcase.
      
      From-SVN: r241796
      Richard Biener committed
    • New warning -Wargument-mismatch for function argument mismatches. · 3df19fa0
      	gcc/fortran/
      	* lang.opt, invoke.texi: New argument -Wargument-mismatch.
      	* interface.c (compare_parameter, compare_actual_formal,
      	gfc_check_typebound_override, argument_rank_mismatch): Control argument
      	mismatch warnings with -Wargument-mismatch.
      	* resolve.c (resolve_structure_cons, resolve_global_procedure): Ditto.
      
      	gcc/testsuite/gfortran.dg/
      	* warn_argument_mismatch_1.f90: New test.
      
      From-SVN: r241795
      Fritz O. Reese committed
    • Allow warning flags to associate through gfc_error. · eab1ee22
      	gcc/fortran/
      	* gfortran.h (gfc_error): New declaration for gfc_error with 'opt'.
      	* error.c (gfc_error): Add optional 'opt' argument.
      	* error.c (gfc_notify_std): Call fully-qualified gfc_error.
      
      From-SVN: r241794
      Fritz Reese committed
    • Add LE/BE SHA1H patterns with a V2SI input. · 5304d044
      Add LE/BE SHA1H patterns with a V2SI input.  This avoids unnecessary
      DUPs when using intrinsics like vsha1h_u32 (vgetq_lane_u32 (x, 0)).
      
          gcc/
              * config/aarch64/aarch64-simd.md (aarch64_crypto_sha1hv4si): 
              New pattern.
              (aarch64_be_crypto_sha1hv4si): New pattern.
      
      From-SVN: r241791
      Wilco Dijkstra committed
    • The add expander still contains some expansion code that was required for the… · 45a6c1e3
      The add expander still contains some expansion code that was required for the previous prolog/epilog code...
      
      The add expander still contains some expansion code that was required for the
      previous prolog/epilog code, but which is no longer needed.  I also noticed
      that the current version splits off immediates from frame addressing
      instructions, which doesn't seem a good idea.  Avoiding this resulted in small
      codesize improvements.
      
          gcc/
              * config/aarch64/aarch64.md (add<mode>3): Remove
              redundant code.  Don't split frame based additions.
      
      From-SVN: r241790
      Wilco Dijkstra committed