1. 15 Jul, 2015 22 commits
  2. 14 Jul, 2015 18 commits
    • constraints.md (U, v): New constraints. · 524d2e49
      2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
      	    Cesar Philippidis  <cesar@codesourcery.com>
      	    Chung-Lin Tang  <cltang@codesourcery.com>
      
      	gcc/
      	* config/nios2/constraints.md (U, v): New constraints.
      	* config/nios2/predicates.md (rdprs_dcache_operand): New.
      	(ldstex_memory_operand): New.
      	* config/nios2/sync.md: New file.
      	* config/nios2/nios2.md (unspecv): Add new builtin function
      	UNSPECV codes.
      	(rdprs, flushd, flushda, wrpie, eni): New patterns.
      	(top-level): Include sync.md.
      	* config/nios2/nios2.c (N2_FTYPES): Add function types for
      	new builtins.
      	(N2_BUILTINS): Add arch field setting, add new builtins.
      	(enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF
      	for arch field.
      	(nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin.
      	Also handle ldex/stex/ldsex/stsex builtins.
      	(nios2_expand_rdprs_builtin): New function.
      	(nios2_expand_cache_builtin): New function.
      	(nios2_expand_wrpie_builtin): New function.
      	(nios2_expand_eni_builtin): New function.
      	(nios2_expand_builtin): Add arch field handling and new builtin 
              cases.
      	* doc/extend.texi (Altera Nios II Built-in Functions): Document
      	new builtins.
      	* doc/md.texi (Machine Constraints): Document U and v constraints.
      
      	gcc/testsuite/
      	* gcc.target/nios2/nios2-flushd.c: New.
      	* gcc.target/nios2/nios2-rdprs.c: New.
      	* gcc.target/nios2/r2-atomic.c: New.
      	* gcc.target/nios2/r2-eni.c: New.
      	* gcc.target/nios2/r2-wrpie.c: New.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
      
      From-SVN: r225800
      Sandra Loosemore committed
    • nios2-protos.h (nios2_expand_return): Declare. · c3ff2812
      2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
      	    Cesar Philippidis  <cesar@codesourcery.com>
      	    Chung-Lin Tang  <cltang@codesourcery.com>
      
      	gcc/
      	* config/nios2/nios2-protos.h (nios2_expand_return): Declare.
      	* config/nios2/nios2.c (struct GTY (()) machine_function): Add
      	callee_save_reg_size and uses_anonymous_args fields.
      	(nios2_compute_frame_layout): Update for CDX push.n/pop.n usage.
      	(nios2_create_cfa_notes): New function.
      	(nios2_adjust_stack): New function for adjusting stack.
      	(nios2_expand_prologue): Update for CDX push.n/pop.n usage.
      	Use nios2_adjust_stack.
      	(nios2_expand_epilogue): Likewise.
      	(nios2_expand_return): New function.
      	(nios2_can_use_return_insn): Update for CDX pop.n usage.
      	(nios2_setup_incoming_varargs): Set uses_anonymous_args flag.
      	If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue.
      	* config/nios2/nios2.md (return): Use nios2_expand_return.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
      
      From-SVN: r225799
      Sandra Loosemore committed
    • predicates.md (pop_operation): New. · aa32db37
      2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
      	    Cesar Philippidis  <cesar@codesourcery.com>
      	    Chung-Lin Tang  <cltang@codesourcery.com>
      
      	gcc/
      	* config/nios2/predicates.md (pop_operation): New.
      	(ldwm_operation, stwm_operation): New.
      	(nios2_hard_register_operand): New.
      	* config/nios2/nios2-protos.h (pop_operation_p): Declare.
      	(ldstwm_operation_p): Declare.
      	(gen_ldstwm_peep): Declare.
      	* config/nios2/nios2.c: (nios2_ldst_parallel): Declare.
      	(base_reg_adjustment_p): New.
      	(pop_operation_p): New.
      	(CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define.
      	(nios2_ldstwm_regset_p): New.
      	(ldstwm_operation_p): New.
      	(gen_ldst): New.
      	(nios2_ldst_parallel): New.
      	(struct ldswm_operand): Declare.
      	(compare_ldstwm_operands): New.
      	(can_use_cdx_ldstw): New.
      	(gen_ldstwm_peep): New.
      	* config/nios2/nios2-ldstwm.sml: New.
      	* config/nios2/nios2.md: Include ldstwm.md.
      	* config/nios2/ldstwm.md: Generated.
      
      	gcc/testsuite/
      	* gcc.target/nios2/cdx-ldstwm-1.c: New.
      	* gcc.target/nios2/cdx-ldstwm-2.c: New.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
      
      From-SVN: r225798
      Sandra Loosemore committed
    • nios2.h (LABEL_ALIGN): Define. · 3bbbe009
      2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
      	    Cesar Philippidis  <cesar@codesourcery.com>
      	    Chung-Lin Tang  <cltang@codesourcery.com>
      
      	gcc/
      	* config/nios2/nios2.h (LABEL_ALIGN): Define.
      	(REG_ALLOC_ORDER): Define.
      	(ADJUST_REG_ALLOC_ORDER): Define.
      	(HONOR_REG_ALLOC_ORDER): Define.
      	(CDX_REG_P): Define.
      	(ANDCLEAR_INT): Define.
      	* config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare.
      	(nios2_label_align): Declare.
      	(nios2_cdx_narrow_form_p): Declare.
      	(nios2_adjust_reg_alloc_order): Declare.
      	* config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract
      	operation.
      	(nios2_large_unspec_reloc_p): New function, split from...
      	(nios2_legitimate_pic_operand_p): ...here.
      	(nios2_emit_move_sequence): Add *high/*lo_sum constant expand code.
      	(nios2_print_operand_punct_valid_p): New.
      	(nios2_print_operand): Add %., %!, %x, %y, %A.  Remove %U.
      	(split_mem_address): New.
      	(split_alu_insn): New.
      	(cdxreg): New.
      	(cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New.
      	(enum nios2_add_insn_kind): New.
      	(nios2_add_insn_names, nios2_add_insn_narrow): New.
      	(nios2_add_insn_classify): New.
      	(nios2_add_insn_asm): New.
      	(nios2_cdx_narrow_form_p): New.
      	(label_align, min_labelno, max_labelno): New.
      	(nios2_reorg): New.
      	(nios2_label_align): New.
      	(nios2_adjust_reg_alloc_order): New.
      	(TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
      	(TARGET_MACHINE_DEPENDENT_REORG): Define.
      	* config/nios2/constraints.md (P): New constraint.
      	* config/nios2/predicates.md (const_and_operand): New.
      	(and_operand): New.
      	(stack_memory_operand): New.
      	* config/nios2/nios2.md (SP_REGNO): Define stack pointer regno.
      	(length): Update to use nios2_cdx_narrow_form_p().
      	(type): Add new insn type values.
      	(control, alu, st, ld, shift): Update insn reservations with
      	new insn type values.
      	(*high, *lo_sum): Define new insn patterns for constant generation.
      	(movqi_internal, movhi_internal, movsi_internal): Reduce
      	alternatives, update asm template to handle CDX variants, update
      	type attributes.
      	(zero_extendhisi2, zero_extendqi<mode>2): Add CDX variants to asm
      	template, update type attributes.
      	(extendhisi2, extendqi<mode>2): Likewise.
      	(addsi3): Change to use function for asm string.
      	(subsi3): Add CDX notation to asm template, update type attributes.
      	(negsi3, one_cmplsi3): Likewise.
      	(andsi3): New pattern, specialized from logical patterns.
      	(<code>si3): Remove and case, combine alternatives, update asm
      	template.
      	(<shift_op>si3): Add CDX notation, update type attributes.
      	(rotrsi3): Update type attribute.
      	(*merge, extzv, insv): New insn patterns.
      	(return): Change to define_expand.
      	(simple_return): Add CDX notation, update type attributes.
      	(indirect_jump): Add CDX notation.
      	(jump): Update asm cases, update length attribute expression.
      	(*call, *call_value, *sibcall, *sibcall_value): Add CDX variant.
      	(nios2_cbranch): Update asm cases and length attribute expression
      	to handle CDX variants.
      	(nios2_cmp<code>): Update asm template.
      	(nop): Add CDX notation, update type attributes.
      	(trap): Add CDX notation.
      	(ctrapsi4): Update asm cases and length attribute expression to
      	handle CDX variant.
      	* doc/md.texi (Machine Constraints): Document P constraint.
      
      	gcc/testsuite/
      	* gcc.target/nios2/andci.c: New.
      	* gcc.target/nios2/bmx.c: New.
      	* gcc.target/nios2/cdx-add.c: New.
      	* gcc.target/nios2/cdx-branch.c: New.
      	* gcc.target/nios2/cdx-callret.c: New.
      	* gcc.target/nios2/cdx-loadstore.c: New.
      	* gcc.target/nios2/cdx-logical.c: New.
      	* gcc.target/nios2/cdx-mov.c: New.
      	* gcc.target/nios2/cdx-shift.c: New.
      	* gcc.target/nios2/cdx-sub.c: New.
      	* gcc.target/nios2/nios2-trap-insn.c: Adjust pattern.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
      
      From-SVN: r225796
      Sandra Loosemore committed
    • tramp.c (MOVHI, ORI, JMP): Conditionalize for __nios2_arch__ level. · a03c6ae3
      2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
      	    Cesar Philippidis  <cesar@codesourcery.com>
      	    Chung-Lin Tang  <cltang@codesourcery.com>
      
      	libgcc/
      	* config/nios2/tramp.c (MOVHI, ORI, JMP): Conditionalize
      	for __nios2_arch__ level.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
      
      From-SVN: r225794
      Sandra Loosemore committed
    • re PR c++/65071 (ICE on valid, sizeof...() of template template parameter pack in return type) · 973590f3
      /cp
      2015-07-14  Andrea Azzarone  <azzaronea@gmail.com>
      
      	PR c++/65071
      	* parser.c (cp_parser_sizeof_pack): Also consider template template
      	parameters.
      
      /testsuite
      2015-07-14  Andrea Azzarone  <azzaronea@gmail.com>
      
      	PR c++/65071
      	* g++.dg/cpp0x/vt-65071.C: New.
      
      From-SVN: r225793
      Andrea Azzarone committed
    • nios2.h (SMALL_INT12): New macro. · 42e6ab74
      2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
      	    Cesar Philippidis  <cesar@codesourcery.com>
      	    Chung-Lin Tang  <cltang@codesourcery.com>
      
      	gcc/
      	* config/nios2/nios2.h (SMALL_INT12): New macro.
      	* config/nios2/nios2.c (nios2_valid_addr_offset_p): New function.
      	(nios2_valid_addr_expr_p): Use it.
      	(nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing
      	with implicit "io" instructions on R2.
      	* config/nios2/constraints.md (w): New constraint.
      	* config/nios2/predicates.md (ldstio_memory_operand): New.
      	* config/nios2/nios2.md (ld<bhw_uns>io, ld<bh>io): Update memory
      	operand predicate and constraint.
      	(ld<bh>io_signed, st<bhw>io>): Likewise.
      	* doc/md.texi (Machine Constraints): Document w constraint.
      
      	gcc/testsuite/
      	* gcc.target/nios2/r2-io-range.c: New.
      	* gcc.target/nios2/r2-stio-1.c: New.
      	* gcc.target/nios2/r2-stio-2.c: New.
      	* gcc.target/nios2/nios2-ldxio.c: New.
      	* gcc.target/nios2/nios2-stxio.c: Change to assemble test instead
      	of just compile.  Add more tests.
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
      
      From-SVN: r225792
      Sandra Loosemore committed
    • nios2.opt (march, mbmx, mcdx): New options. · 77c50d73
      2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
      	    Cesar Philippidis  <cesar@codesourcery.com>
      	    Chung-Lin Tang  <cltang@codesourcery.com>
      
      	gcc/
      	* config/nios2/nios2.opt (march, mbmx, mcdx): New options.
      	* config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for
      	Nios II architecture level.
      	* config/nios2/nios2.h (TARGET_ARCH_R2): New define.
      	(TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol.
      	(OPTION_DEFAULT_SPECS): Define.
      	(ASM_SPEC): Add -march= spec strings.
      	* config/nios2/nios2.c (nios2_option_override): Check for
      	conflicts involving new options.
      	* config.gcc (nios2*-*-*): Support --with-arch=.
      	* doc/invoke.texi (Option Summary, Nios II Options): Document
      	-march=, -mbmx,	and -mcdx.
      
      
      Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>
      Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
      
      From-SVN: r225791
      Sandra Loosemore committed
    • simplify.c (gfc_simplify_floor): Set precision of temporary to that of arg. · ff7097f2
      2015-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	* simplify.c (gfc_simplify_floor): Set precision of temporary to
      	that of arg.
      
      2015-07-14  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	gfortran.dg/pr66864.f90: New test.
      
      From-SVN: r225790
      Steven G. Kargl committed
    • re PR rtl-optimization/66626 (gcc.dg/torture/stackalign/non-local-goto-5.c… · 6e5ad0f9
      re PR rtl-optimization/66626 (gcc.dg/torture/stackalign/non-local-goto-5.c segfaults w/ -mregparm=3 or -miamcu)
      
      2015-07-14  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/66626
      	* lra-constraints.c (lra_constraints): Prevent equivalence
      	substitution for static chain pseudo in functions with nonlocal
      	goto.
      
      2015-07-14  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/66626
      	* gcc.target/i386/pr66626.c: New.
      
      From-SVN: r225789
      Vladimir Makarov committed
    • PR 66861 Fix null pointer crash on mingw. · 5fd6ec3e
      2015-07-14  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR libfortran/66861
      	* io/unix.c (compare_file_filename): Verify that u->filename is
      	non-NULL before strcmp.
      	(find_file0): Likewise.
      
      From-SVN: r225788
      Janne Blomqvist committed
    • nios2.c (TEMP_REG_NUM): Move define up in file. · 5faebb89
      2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file.
      	(nios2_emit_stack_limit_check): Add size parameter.  Handle
      	-fstack-limit-symbol as well as -fstack-limit-register.
      	(nios2_expand_prologue): Emit only a single stack limit check,
      	even if multiple stack adjustments are required.
      	(nios2_option_override): Diagnose unsupported combination of -fpic
      	and -stack-limit-symbol.
      
      	gcc/testsuite/
      	* gcc.target/nios2/nios2-stack-check-1.c: Adjust patterns.
      	* gcc.target/nios2/nios2-stack-check-2.c: Likewise.
      	* gcc.target/nios2/nios2-stack-check-3.c: New test case.
      
      From-SVN: r225787
      Sandra Loosemore committed
    • simd-3.c: (main): Change type of res and ref from int to double. · 4c1cb4da
      2015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
      
      libgomp/
      	* testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
      	and ref from int to double.  Replaced their comparison with
      	an inequality of their difference and EPS.
      	* testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
      	comparison of pri and a reference number with an inequality of their
      	difference and EPS.
      	* testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
      	the comparison of sum and sum_ref with an inequality of their
      	difference and EPS.
      	* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
      	the comparison of pri and a reference number with an inequality of
      	their difference and EPS.
      
      From-SVN: r225786
      Maxim Blumenthal committed
    • * call.c (build_new_method_call_1): Call reshape_init. · e056dfd0
      From-SVN: r225784
      Jason Merrill committed
    • pt.c (check_template_shadow): Emit error + inform instead of two errors. · 87679b76
      /cp
      2015-07-14  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* pt.c (check_template_shadow): Emit error + inform instead of
      	two errors.
      
      /testsuite
      2015-07-14  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/template/crash81.C: Adjust for error + inform change.
      	* g++.dg/template/pr58878.C: Likewise.
      	* g++.dg/template/shadow1.C: Likewise.
      	* g++.dg/template/shadow2.C: Likewise.
      	* g++.old-deja/g++.benjamin/tem03.C: Likewise.
      	* g++.old-deja/g++.benjamin/tem04.C: Likewise.
      	* g++.old-deja/g++.brendan/crash7.C: Likewise.
      	* g++.old-deja/g++.pt/shadow2.C: Likewise.
      
      From-SVN: r225783
      Paolo Carlini committed
    • Remove trailing spaces in demangle.h · 721c8251
      From-SVN: r225782
      H.J. Lu committed
    • Update copyright year in include · 9cefc856
      From-SVN: r225781
      H.J. Lu committed
    • configure.tgt: Add *-*-dragonfly to supported targets. · b6735e76
      2015-07-14  John Marino  <gnugcc@marino.st>
      
      	* configure.tgt: Add *-*-dragonfly to supported targets.
      
      From-SVN: r225779
      John Marino committed