Commit Graph

160924 Commits

Author SHA1 Message Date
Jakub Jelinek
b15b6fc564 re PR middle-end/85414 (ICE: in ix86_expand_prologue, at config/i386/i386.c:13810 with -Og -fgcse)
PR middle-end/85414
	* simplify-rtx.c (simplify_unary_operation_1) <case SIGN_EXTEND,
	case ZERO_EXTEND>: Pass SUBREG_REG (op) rather than op to
	gen_lowpart_no_emit.

From-SVN: r259649
2018-04-25 15:10:01 +02:00
Sebastian Peryt
be3830f845 re PR target/85473 (internal compiler error: in emit_move_insn, at expr.c:3722)
2018-04-25  Sebastian Peryt  <sebastian.peryt@intel.com>

	gcc/ChangeLog:

	PR target/85473
	* config/i386/i386.c (ix86_expand_builtin): Change memory
	operand to XI, extend p0 to Pmode.
	* config/i386/i386.md: Change unspec volatile and operand
	1 mode to XI, change operand 0 mode to P.

	gcc/testsuite/ChangeLog:

	PR target/85473
	* gcc.target/i386/pr85473-1.c: New test.
	* gcc.target/i386/pr85473-2.c: New test.

From-SVN: r259648
2018-04-25 14:39:57 +02:00
Chung-Ju Wu
d3e6cab2e0 [NDS32] Fix bug in bit-instruction checking functions.
gcc/
	* config/nds32/nds32-predicates.c (nds32_can_use_bclr_p): Mask with
	GET_MODE_MASK before any checking.
	(nds32_can_use_bset_p): Likewise.
	(nds32_can_use_btgl_p): Likewise.

From-SVN: r259647
2018-04-25 12:32:19 +00:00
Chung-Ju Wu
ed4230b2f9 [NDS32] Split movdi/df if reigster number is illegal.
gcc/
	* config/nds32/nds32-doubleword.md: New define_split pattern for
	illegal register number.

From-SVN: r259646
2018-04-25 12:17:29 +00:00
Chung-Ju Wu
ba169b7424 [NDS32] Fix incorrect settings in sfp-machine.h and t-nds32-newlib for hard fp.
libgcc/
	* config/nds32/sfp-machine.h: Fix settings for NDS32_ABI_2FP_PLUS.
	* config/nds32/t-nds32-newlib (HOST_LIBGCC2_CFLAGS): Use -fwrapv.

From-SVN: r259645
2018-04-25 12:08:14 +00:00
Chung-Ju Wu
bfeb66850f [NDS32] Fix print operand for cctl register.
gcc/
	* config/nds32/nds32.c (nds32_print_operand): Set op_value ealier.

From-SVN: r259643
2018-04-25 11:22:55 +00:00
Chung-Ju Wu
c77562ca50 [NDS32] Add missing newline character into ASM_APP_ON macro.
gcc/
	* config/nds32/nds32.h (ASM_APP_ON): Add missing newline character.

From-SVN: r259642
2018-04-25 10:24:49 +00:00
Jakub Jelinek
b33a0cb323 re PR sanitizer/84307 (asan blocks dead-store elimination)
PR sanitizer/84307
	* c-decl.c (build_compound_literal): Call pushdecl (decl) even when
	it is not TREE_STATIC.
	* c-typeck.c (c_mark_addressable) <case COMPOUND_LITERAL_EXPR>: Mark
	not just the COMPOUND_LITERAL_EXPR node itself addressable, but also
	its COMPOUND_LITERAL_EXPR_DECL.

From-SVN: r259641
2018-04-25 12:02:24 +02:00
Eric Botcazou
87ed4159ac re PR ada/85007 (-b flag to gnatlink not recognized)
PR ada/85007
	* gnat_ugn.texi: Regenerate.

From-SVN: r259639
2018-04-25 10:01:13 +00:00
Richard Biener
09304ef4a8 lto-streamer.h (LTO_major_version): Bump to 8.
2018-04-25  Richard Biener  <rguenther@suse.de>

	* lto-streamer.h (LTO_major_version): Bump to 8.

From-SVN: r259638
2018-04-25 08:14:36 +00:00
Jakub Jelinek
49b7ffb711 * crontab: Enable snapshots from gcc-8-branch.
From-SVN: r259637
2018-04-25 09:46:31 +02:00
Jakub Jelinek
3bedd34631 * BASE-VER: Set to 9.0.0.
From-SVN: r259635
2018-04-25 09:42:00 +02:00
Jakub Jelinek
7d75ea04cf re PR c++/85437 (member pointer static upcast rejected in a constexpr context)
PR c++/85437
	PR c++/49171
	* cp-tree.h (REINTERPRET_CAST_P): New.
	* constexpr.c (cxx_eval_constant_expression) <case NOP_EXPR>:
	Reject REINTERPET_CAST_P conversions.  Use cplus_expand_constant
	for non-trivial PTRMEM_CST cases.
	* typeck.c (build_nop_reinterpret): New.
	(build_reinterpret_cast_1): Use it.  Set REINTERPRET_CAST_P on
	NOP_EXPRs returned by cp_convert.

	* g++.dg/cpp0x/addressof1.C: Make reinterpret cases runtime checks.
	* g++.dg/cpp0x/constexpr-cast.C: Remove xfails
	* g++.dg/cpp0x/constexpr-nullptr-2.C: Likewise.
	* g++.dg/cpp0x/constexpr-pmf1.C: Check when optimized.
	* g++.dg/cpp0x/pr85437-1.C: New.
	* g++.dg/cpp0x/pr85437-2.C: New.
	* g++.dg/cpp0x/pr85437-3.C: New.
	* g++.dg/cpp0x/pr85437-4.C: New.

From-SVN: r259629
2018-04-25 09:10:16 +02:00
GCC Administrator
908553397a Daily bump.
From-SVN: r259628
2018-04-25 00:16:37 +00:00
Steven G. Kargl
58da192e7a re PR fortran/85520 (Out of memory when declaring a character with len << 0)
2018-04-24  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85520
	* decl.c (gfc_match_char_spec): Check for negative length and set to 0.

2018-04-24  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/85520
	* gfortran.dg/pr85520.f90: New test.

From-SVN: r259623
2018-04-24 23:17:29 +00:00
Segher Boessenkool
08417efa3a rs6000: Fix __powikf2 and __abskf2 spelling
Both of these libfuncs had a "tkf" misspelling, which caused
gcc.target/powerpc/pr85456.c to fail (there is no test for __abskf2).


	* config/rs6000/rs6000.c (init_float128_ieee): Fix spelling mistakes
	in __abskf2 and __powikf2.

From-SVN: r259622
2018-04-25 00:49:41 +02:00
H.J. Lu
ffc2fc06e3 x86: Update __CET__ check
__CET__ has been changed by revision 259522:

commit d59cfa9a4064339cf2bd2da828c4c133f13e57f0
Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Fri Apr 20 13:30:13 2018 +0000

    Define __CET__ for -fcf-protection and remove -mibt

to

    (__CET__ & 1) != 0: -fcf-protection=branch or -fcf-protection=full
    (__CET__ & 2) != 0: -fcf-protection=return or -fcf-protection=full

We should check (__CET__ & 2) != 0 for shadow stack.

libgcc/

	* config/i386/linux-unwind.h: Add (__CET__ & 2) != 0 check
	when including "config/i386/shadow-stack-unwind.h".

libitm/

	* config/x86/sjlj.S (_ITM_beginTransaction): Add
	(__CET__ & 2) != 0 check for shadow stack.
	(GTM_longjmp): Likewise.

From-SVN: r259621
2018-04-24 15:15:51 -07:00
H.J. Lu
e59133c36c x86/CET: Add -fcf-protection to STAGE4_CFLAGS
Since profiledbootstrap uses

STAGEfeedback_CFLAGS = $(STAGE4_CFLAGS) -fprofile-use

add

STAGE4_CFLAGS += -fcf-protection -mcet

to bootstrap-cet.mk to support profiledbootstrap with CET.

	PR bootstrap/85490
	* bootstrap-cet.mk (STAGE4_CFLAGS): New.

From-SVN: r259620
2018-04-24 15:12:46 -07:00
Kyrylo Tkachov
0603375cbc [AArch64] PR target/85512: Tighten SIMD right shift immediate constraints
In this testcase it is possible to generate an invalid SISD shift of zero:
Error: immediate value out of range 1 to 64 at operand 3 -- `sshr v9.2s,v0.2s,0'

The SSHR and USHR instructions require a shift from 1 up to the element size.
However our constraints on the scalar shifts that generate these patterns
allow a shift amount of zero as well. The pure GP-reg ASR and LSR instructions allow a shift amount of zero.

It is unlikely that a shift of zero will survive till the end of compilation, but it's not impossible, as this PR shows.

The patch tightens up the constraints in the offending patterns by adding two new constraints
that allow shift amounts [1,32] and [1,64] and using them in *aarch64_ashr_sisd_or_int_<mode>3
and *aarch64_lshr_sisd_or_int_<mode>3.
The left-shift SISD instructions SHL and USHL allow a shift amount of zero so don't need adjustment
The vector shift patterns that map down to SSHR and USHR already enforce the correct immediate range. 

        PR target/85512
        * config/aarch64/constraints.md (Usg, Usj): New constraints.
        * config/aarch64/iterators.md (cmode_simd): New mode attribute.
        * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
        Use the above on operand 2.  Reindent.
        (*aarch64_lshr_sisd_or_int_<mode>3): Likewise.

        * gcc.dg/pr85512.c: New test.

From-SVN: r259614
2018-04-24 16:58:49 +00:00
H.J. Lu
231baae28e x86/CET: Remove the -mcet command-lint option
With revision 259496:

commit b1384095a7c1d06a44b70853372ebe037b2f7867
Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Thu Apr 19 15:15:04 2018 +0000

    x86: Enable -fcf-protection with multi-byte NOPs

-fcf-protection no longer depens on -mcet and with revision 259522:

commit d59cfa9a4064339cf2bd2da828c4c133f13e57f0
Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Fri Apr 20 13:30:13 2018 +0000

    Define __CET__ for -fcf-protection and remove -mibt

-mcet becomes an alias for -mshstk.  Since all usages of -mcet and
-mno-cet have either been removed or replaced, we can remove the -mcet
command-lint option.

	PR target/85485
	* common/config/i386/i386-common.c (ix86_handle_option): Don't
	handle OPT_mcet.
	* config/i386/i386.opt (mcet): Removed.
	* doc/install.texi: Remove -mcet documentation.
	* doc/invoke.texi: Likewise.

From-SVN: r259613
2018-04-24 09:56:04 -07:00
H.J. Lu
d16d033bf9 x86/CET tests: Remove -mcet/-mno-cet or replace -mcet with -mshstk
With revision 259496:

commit b1384095a7c1d06a44b70853372ebe037b2f7867
Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Thu Apr 19 15:15:04 2018 +0000

    x86: Enable -fcf-protection with multi-byte NOPs

-fcf-protection no longer depens on -mcet and with revision 259522:

commit d59cfa9a4064339cf2bd2da828c4c133f13e57f0
Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Fri Apr 20 13:30:13 2018 +0000

    Define __CET__ for -fcf-protection and remove -mibt

-mcet becomes an alias for -mshstk.

We can remove -mcet/-mno-cet where they are unused and replace -mcet
with -mshstk where -mcet is used as an alias for -mshstk.

	PR target/85485
	* g++.dg/cet-notrack-1.C (dg-options): Remove -mcet.
	* g++.dg/torture/pr85334.C (dg-additional-options): Likwise.
	* gcc.dg/pr85388-1.c (dg-options): Likwise.
	* gcc.dg/pr85388-2.c (dg-options): Likwise.
	* gcc.dg/pr85388-3.c (dg-options): Likwise.
	* gcc.dg/pr85388-4.c (dg-options): Likwise.
	* gcc.dg/pr85388-5.c (dg-options): Likwise.
	* gcc.dg/pr85388-6.c (dg-options): Likwise.
	* gcc.dg/torture/pr85397-1.c (dg-additional-options): Likwise.
	* gcc.target/i386/attr-nocf-check-1a.c (dg-options): Likwise.
	* gcc.target/i386/attr-nocf-check-3a.c (dg-options): Likwise.
	* gcc.target/i386/cet-label.c (dg-options): Likwise.
	* gcc.target/i386/cet-label-2.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-1b.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-2a.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-2b.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-3.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-4b.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-5a.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-5b.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-6a.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-6b.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-7.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-icf-2.c (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-icf-4.c (dg-options): Likwise.
	* gcc.target/i386/cet-property-1.c (dg-options): Likwise.
	* gcc.target/i386/cet-property-2.c (dg-options): Likwise.
	* gcc.target/i386/cet-sjlj-1.c (dg-options): Likwise.
	* gcc.target/i386/cet-sjlj-2.c (dg-options): Likwise.
	* gcc.target/i386/cet-sjlj-3.c (dg-options): Likwise.
	* gcc.target/i386/cet-sjlj-4.c (dg-options): Likwise.
	* gcc.target/i386/cet-sjlj-5.c (dg-options): Likwise.
	* gcc.target/i386/cet-sjlj-6a.c (dg-options): Likwise.
	* gcc.target/i386/cet-sjlj-6b.c (dg-options): Likwise.
	* gcc.target/i386/cet-switch-1.c (dg-options): Likwise.
	* gcc.target/i386/cet-switch-2.c (dg-options): Likwise.
	* gcc.target/i386/cet-switch-3.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-11.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-12.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-attr-12.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-attr-13.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-attr-14.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-attr-15.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-attr-16.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-extern-8.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-extern-9.c (dg-options): Likwise.
	* gcc.target/i386/indirect-thunk-extern-10.c (dg-options): Likwise.
	* gcc.target/i386/pr82659-1.c (dg-options): Likwise.
	* gcc.target/i386/pr82659-2.c (dg-options): Likwise.
	* gcc.target/i386/pr82659-3.c (dg-options): Likwise.
	* gcc.target/i386/pr82659-4.c (dg-options): Likwise.
	* gcc.target/i386/pr82659-5.c (dg-options): Likwise.
	* gcc.target/i386/pr82659-6.c (dg-options): Likwise.
	* gcc.target/i386/pr84146.c (dg-options): Likwise.
	* gcc.target/i386/pr85403.c (dg-options): Likwise.
	* gcc.target/i386/pr85404.c (dg-options): Likwise.
	* gcc.target/i386/cet-intrin-3.c (dg-options): Replace -mcet
	with -mshstk.
	* gcc.target/i386/cet-intrin-5.c (dg-options): Likwise.
	* gcc.target/i386/cet-intrin-6.c (dg-options): Likwise.
	* gcc.target/i386/cet-intrin-7.c (dg-options): Likwise.
	* gcc.target/i386/cet-intrin-8.c (dg-options): Likwise.
	* gcc.target/i386/cet-intrin-9.c (dg-options): Likwise.
	* gcc.target/i386/cet-intrin-10.c (dg-options): Likwise.
	* gcc.target/i386/cet-rdssp-1.c (dg-options): Likwise.
	* (dg-options): Likwise.
	* gcc.target/i386/cet-notrack-1a.c (dg-options): Remove
	-mno-cet.
	* gcc.target/i386/cet-notrack-4a.c (dg-options): Likwise.
	* gcc.target/i386/cet-label-3.c: Removed.
	* gcc.target/i386/cet-property-3.c: Likwise.
	* gcc.target/i386/cet-sjlj-7.c: Likwise.

From-SVN: r259612
2018-04-24 09:54:35 -07:00
H.J. Lu
48f64e053e Don't bootstrap GCC with -mcet
With revision 259496:

commit b1384095a7c1d06a44b70853372ebe037b2f7867
Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Thu Apr 19 15:15:04 2018 +0000

    x86: Enable -fcf-protection with multi-byte NOPs

-fcf-protection no longer requires -mcet.

config/

	PR target/85485
	* bootstrap-cet.mk (STAGE2_CFLAGS): Remove -mcet.
	(STAGE3_CFLAGS): Likewise.

gcc/

	PR target/85485
	* doc/install.texi: Remove -mcet from bootstrap-cet.

From-SVN: r259611
2018-04-24 09:47:24 -07:00
H.J. Lu
7b47ecf2f7 Regenerate configure of target libraries
* configure: Regenerated.

From-SVN: r259610
2018-04-24 09:45:26 -07:00
Jakub Jelinek
e8ac3359dc re PR target/85511 ([X86] Using __builtin_ia32_writeeflags_u32 in 64-bit mode causes internal compiler error)
PR target/85511
	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Don't define
	__builtin_ia32_readeflags_u32 and __builtin_ia32_writeeflags_u32
	if TARGET_64BIT.

	* gcc.target/i386/pr85511.c: New test.

From-SVN: r259609
2018-04-24 18:42:59 +02:00
H.J. Lu
8624f8685d x86/CET: Build target libraries with -mshstk
With revision 259522:

commit d59cfa9a4064339cf2bd2da828c4c133f13e57f0
Author: hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Fri Apr 20 13:30:13 2018 +0000

    Define __CET__ for -fcf-protection and remove -mibt

-mcet becomes an alias for -mshstk.

	PR target/85485
	* cet.m4 (GCC_CET_FLAGS): Replace -mcet with -mshstk.

From-SVN: r259608
2018-04-24 09:41:01 -07:00
Jakub Jelinek
c61199f2df re PR target/85503 (ICE in replace_swapped_load_constant, at config/rs6000/rs6000-p8swap.c:1853 on powerpc64le-linux-gnu)
PR target/85503
	* config/rs6000/rs6000-p8swap.c (const_load_sequence_p): Punt if
	const_vector is not CONST_VECTOR or SYMBOL_REF for a constant pool
	containing a CONST_VECTOR.

	* g++.dg/ext/pr85503.C: New test.

From-SVN: r259607
2018-04-24 18:05:19 +02:00
Jason Merrill
7f3c03bfc1 Testsuite fixes for C++11 alignof change.
gcc/testsuite:
	* c-c++-common/attr-aligned-1.c: Use __alignof__ in C++11.
	* g++.dg/cpp0x/alignas4.C: Expect 4-byte alignment on x86.

From-SVN: r259606
2018-04-24 11:54:56 -04:00
Cesar Philippidis
8ff02f9647 [nvptx] Update newlib dependency.
gcc/
	* doc/install.texi: Update newlib dependency for nvptx.

From-SVN: r259596
2018-04-24 07:36:15 -07:00
Jakub Jelinek
1704194ae7 re PR target/85508 (runtime error in config/i386/i386.c)
PR target/85508
	* config/i386/i386.c (ix86_expand_vector_init_one_var): Use UINTVAL
	instead of INTVAL when shifting x left.

	* gcc.target/i386/pr85508.c: New test.

From-SVN: r259594
2018-04-24 15:20:20 +02:00
Andreas Krebbel
062c0a7b2f re PR tree-optimization/85478 (ICE with single element vector)
Fix PR85478

gcc/ChangeLog:

2018-04-24  Andreas Krebbel  <krebbel@linux.ibm.com>

	PR tree-optimization/85478
	* tree-vect-loop.c (vect_analyze_loop_2): Do not call
	vect_grouped_store_supported for single element vectors.

gcc/testsuite/ChangeLog:

2018-04-24  Andreas Krebbel  <krebbel@linux.ibm.com>

	PR tree-optimization/85478
	* g++.dg/pr85478.C: New test.

From-SVN: r259593
2018-04-24 12:18:26 +00:00
Richard Biener
4149dd37d9 re PR target/85491 (nbench LU Decomposition test 15% slower than GCC 7, 30% slower than peak)
2018-04-24  Richard Biener  <rguenther@suse.de>

	PR target/85491
	* config/i386/i386.c (ix86_add_stmt_cost): Restrict strided
	load cost increase to the case of non-constant step.

From-SVN: r259592
2018-04-24 08:46:55 +00:00
Jakub Jelinek
b72139eac2 re PR target/84828 (ICE in verify_flow_info at gcc/cfghooks.c:265)
PR target/84828
	* reg-stack.c (move_for_stack_reg): Don't fail assertion about dead
	destination if any_malformed_asm.

From-SVN: r259591
2018-04-24 09:40:04 +02:00
GCC Administrator
950ec7e90a Daily bump.
From-SVN: r259589
2018-04-24 00:16:27 +00:00
Jason Merrill
aa2b105511 PR c++/69560 - wrong alignof(double) on x86.
CWG 1879 - Inadequate definition of alignment requirement.
	* cp-tree.h (ALIGNOF_EXPR_STD_P): New.
	* typeck.c (cxx_sizeof_or_alignof_type): Add std_alignof parm.
	(cxx_sizeof_expr, cxx_sizeof_nowarn, cxx_alignas_expr)
	(cxx_alignof_expr): Pass it.
	* parser.c (cp_parser_unary_expression): Pass it.
	* pt.c (tsubst_copy): Copy it.
	(tsubst_copy_and_build): Pass it.
	* decl.c (fold_sizeof_expr): Pass it.

From-SVN: r259578
2018-04-23 16:49:38 -04:00
Joseph Myers
71fbbf65fa Regenerate .pot files.
gcc/po:
	* gcc.pot: Regenerate.

libcpp/po:
	* cpplib.pot: Regenerate.

From-SVN: r259575
2018-04-23 21:27:02 +01:00
Eric Botcazou
a689171e50 re PR middle-end/85496 (internal compiler error: in emit_move_insn, at expr.c:3722)
PR middle-end/85496
	* expr.c (store_field): In the bitfield case, if the value comes from
	a function call and is returned in registers by means of a PARALLEL,
	do not change the mode of the temporary unless BLKmode and VOIDmode.

From-SVN: r259574
2018-04-23 20:19:39 +00:00
Jakub Jelinek
53de8a7e13 PR c++/85470 - wrong error with static data member.
* decl.c (check_initializer): Check DECL_INITIALIZED_IN_CLASS_P.
	* typeck2.c (store_init_value): Likewise.

Co-Authored-By: Jason Merrill <jason@redhat.com>

From-SVN: r259571
2018-04-23 15:11:22 -04:00
Paul Clarke
ae9fb56f6c Add myself to MAINTAINERS.
* MAINTAINERS (write after approval): Add myself.

From-SVN: r259570
2018-04-23 18:53:34 +00:00
Andrey Belevantsev
99219dba37 re PR rtl-optimization/85423 (ICE in code_motion_process_successors, at sel-sched.c:6403)
PR rtl-optimization/85423

        * sel-sched-ir.c (has_dependence_note_mem_dep): Only discard
        dependencies to debug insns when the previous insn is non-debug.

        * gcc.dg/pr85423.c: New test.

From-SVN: r259563
2018-04-23 18:19:06 +03:00
H.J. Lu
0ef9f21d3c x86/cet: Use unsigned integer to unwind shadow stack
Use unsigned integer to unwind shadow stack by replacing jle with jbe and
jg with ja.

	PR target/85489
	* config/x86/sjlj.S (GTM_longjmp): Replace jle/jg with jbe/ja.

From-SVN: r259559
2018-04-23 05:29:00 -07:00
Claudiu Zissulescu
9ba5e5fcee [ARC] Fix FLS, SETI patterns.
Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.md ("vunspec"): Delete it, unify all the unspec
	enums into a single definition.
	(fls): Fix predicates and printing.
	(seti): Likewise.

From-SVN: r259558
2018-04-23 11:55:14 +02:00
Claudiu Zissulescu
31d2e01ad4 [ARC] Update sleep builtin.
gcc/
2018-04-23  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc-protos.h (check_if_valid_sleep_operand): Remove.
	* config/arc/arc.c (arc_expand_builtin): Sleep accepts registers
	and short u6 immediate.
	(check_if_valid_sleep_operand): Remove.
	* config/arc/arc.md (Sleep): Accepts registers and u6 immediates.

changelog

From-SVN: r259557
2018-04-23 11:54:59 +02:00
GCC Administrator
6dfcb0c474 Daily bump.
From-SVN: r259556
2018-04-23 00:16:27 +00:00
Chung-Ju Wu
1311665187 [NDS32] Add new option -malways-save-lp.
gcc/
	* config/nds32/nds32.c (nds32_compute_stack_frame): Consider
	flag_always_save_lp condition.
	* config/nds32/nds32.opt (malways-save-lp): New option.

From-SVN: r259553
2018-04-22 10:10:00 +00:00
Shiva Chen
c411e9aa4f [NDS32] Implment USE_LOAD_POST_INCREMENT, USE_LOAD_POST_DECREMENT, USE_STORE_POST_DECREMENT and USE_STORE_POST_INCREMENT.
gcc/
	* config/nds32/nds32-protos.h (nds32_use_load_post_increment): Declare.
	* config/nds32/nds32.c (nds32_use_load_post_increment): New.
	* config/nds32/nds32.h
	(USE_LOAD_POST_INCREMENT, USE_LOAD_POST_DECREMENT): Define.
	(USE_STORE_POST_INCREMENT, USE_STORE_POST_DECREMENT): Define.

From-SVN: r259552
2018-04-22 09:05:10 +00:00
Shiva Chen
029db20edd [NDS32] Remove unused function: nds32_ls_333_p().
gcc/
	* config/nds32/nds32-protos.h (nds32_ls_333_p): Remove.
	* config/nds32/nds32.c (nds32_ls_333_p): Remove.

From-SVN: r259551
2018-04-22 08:51:26 +00:00
Shiva Chen
2f1bb3ca91 [NDS32] Refine CASE_VECTOR_SHORTEN_MODE to function.
gcc/
	* config/nds32/nds32-protos.h (nds32_case_vector_shorten_mode):
	Declare.
	* config/nds32/nds32.c (nds32_case_vector_shorten_mode): New function.
	* config/nds32/nds32.h (CASE_VECTOR_SHORTEN_MODE): Modify.

Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>

From-SVN: r259550
2018-04-22 08:42:18 +00:00
Chung-Ju Wu
361292be13 [NDS32] Fix wrong input value of parameter from stack for variable-length function.
gcc/
	* config/nds32/nds32.c (nds32_compute_stack_frame): Fix wrong value.

From-SVN: r259549
2018-04-22 08:25:47 +00:00
Chung-Ju Wu
79498ad8ba [NDS32] Implement DATA_ALIGNMENT, LOCAL_ALIGNMENT and TARGET_CONSTANT_ALIGNMENT.
gcc/
	* config/nds32/nds32-protos.h (nds32_data_alignment,
	nds32_local_alignment): Declare.
	* config/nds32/nds32.c (nds32_data_alignment, nds32_constant_alignment,
	nds32_local_alignment): New functions.
	(TARGET_CONSTANT_ALIGNMENT): Define.
	* config/nds32/nds32.h (DATA_ALIGNMENT, LOCAL_ALIGNMENT): Define.

From-SVN: r259548
2018-04-22 08:19:38 +00:00
Chung-Ju Wu
50256c75f4 [NDS32] Move some target hooks to the bottom of nds32.c file.
gcc/
	* config/nds32/nds32.c
	(TARGET_HARD_REGNO_MODE_OK): Move to the bottom of file.
	(TARGET_MODES_TIEABLE_P): Likewise.

From-SVN: r259547
2018-04-22 08:07:08 +00:00