gcc.git
7 years agoAdd #ifdef case for 16 bits in cow-stdexcept.cc
Felipe Magno de Almeida [Tue, 6 Dec 2016 17:58:10 +0000 (17:58 +0000)]
Add #ifdef case for 16 bits in cow-stdexcept.cc

Added #ifdef case for when void* is 16 bits so it compiles in AVR
target.

2016-12-06  Felipe Magno de Almeida  <felipe@expertisesolutions.com.br>

* src/c++11/cow-stdexcept.cc: Add special case for 16 bit pointers.

From-SVN: r243310

7 years agoEnable libstdc++ compilation on AVR targets
Felipe Magno de Almeida [Tue, 6 Dec 2016 17:58:05 +0000 (17:58 +0000)]
Enable libstdc++ compilation on AVR targets

Enable libstdc++ compilation in AVR targets with AVR-Libc. Most
floating point math functions are already defined in AVR-Libc, so
defines are in place to avoid multiple definition of these functions.

2016-12-06  Felipe Magno de Almeida  <felipe@expertisesolutions.com.br>

* crossconfig.m4: Add avr target for cross-compilation.
* configure: Regenerate.

From-SVN: r243309

7 years agore PR fortran/78659 ([F03] Spurious "requires DTIO" reported against namelist statement)
Jerry DeLisle [Tue, 6 Dec 2016 17:13:31 +0000 (17:13 +0000)]
re PR fortran/78659 ([F03] Spurious "requires DTIO" reported against namelist statement)

2016-12-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/78659
* resolve.c (resolve_fl_namelist): Remove unneeded error.
PR fortran/78659
* gfortran.dg/alloc_comp_constraint_1.f90: Update test.
* gfortran.dg/alloc_comp_constraint_7.f90: New test.
* gfortran.dg/namelist_34.f90: Update test.
* gfortran.dg/namelist_63.f90: Update test.

From-SVN: r243308

7 years ago[ARM][committed] Sort ARMv8 processors by alphabetic order
Kyrylo Tkachov [Tue, 6 Dec 2016 16:56:56 +0000 (16:56 +0000)]
[ARM][committed] Sort ARMv8 processors by alphabetic order

* config/arm/arm-cores.def (cortex-m23, cortex-m33): Move into
alphabetical order with respect to other ARMv8 processors.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Likewise.

From-SVN: r243306

7 years agoFix pretty-printer for std::variant
Jonathan Wakely [Tue, 6 Dec 2016 14:36:07 +0000 (14:36 +0000)]
Fix pretty-printer for std::variant

* python/libstdcxx/v6/printers.py (StdVariantPrinter): Update for new
data member name.
* testsuite/libstdc++-prettyprinters/cxx17.cc: Remove redundant test.

From-SVN: r243304

7 years agoFix debug mode assertion for std::shared_ptr<void>
Jonathan Wakely [Tue, 6 Dec 2016 14:36:00 +0000 (14:36 +0000)]
Fix debug mode assertion for std::shared_ptr<void>

* include/bits/shared_ptr_base.h
(__shared_ptr_access<T, L, false, true>::operator->()): Fix assertion.

From-SVN: r243303

7 years ago[MIPS][MSA] Fix builtins with literal integer arguments.
Robert Suchanek [Tue, 6 Dec 2016 13:45:34 +0000 (13:45 +0000)]
[MIPS][MSA] Fix builtins with literal integer arguments.

gcc/
* config/mips/mips.c (mips_expand_builtin_insn): Check input
ranges of literal integer arguments.

gcc/testsuite/

* gcc.target/mips/msa-builtins-err.c: New test.

From-SVN: r243301

7 years agore PR fortran/78226 (Fill out location information everywhere)
Andre Vehreschild [Tue, 6 Dec 2016 13:41:46 +0000 (14:41 +0100)]
re PR fortran/78226 (Fill out location information everywhere)

gcc/fortran/ChangeLog:

2016-12-06  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/78226
* class.c (finalize_component): Add missing locus information.
(finalization_scalarizer): Likewise.
(finalization_get_offset): Likewise.
(finalizer_insert_packed_call): Likewise.
(generate_finalization_wrapper): Likewise.

From-SVN: r243300

7 years agoFix libstdc++-v3/ChangeLog dates
Jonathan Wakely [Tue, 6 Dec 2016 12:48:54 +0000 (12:48 +0000)]
Fix libstdc++-v3/ChangeLog dates

From-SVN: r243299

7 years agoConstrain optional's __constexpr_addressof in its return type and use a constexpr...
Ville Voutilainen [Tue, 6 Dec 2016 12:47:54 +0000 (14:47 +0200)]
Constrain optional's __constexpr_addressof in its return type and use a constexpr addressof for optional, if available.

Constrain optional's __constexpr_addressof in its return type
and use a constexpr addressof for optional, if available.
* include/experimental/optional (__constexpr_addressof):
Constrain in the return type instead of in a template parameter.
(_Has_addressof_mem)
(_Has_addressof_free, _Has_addressof, __constexpr_addressof):
Guard with #ifndef __cpp_lib_addressof_constexpr.
(operator->()): Use std::__addressof if it's constexpr.

From-SVN: r243298

7 years agovariant (visit): Make visit constexpr.
Tim Shen [Tue, 6 Dec 2016 11:28:09 +0000 (11:28 +0000)]
variant (visit): Make visit constexpr.

* include/std/variant (visit): Make visit constexpr. Also cleanup
__get_alternative and __storage, since we don't support reference/void
alternatives any more.
* testsuite/20_util/variant/compile.cc: Add tests.

From-SVN: r243295

7 years agoenable_special_members.h: Make _Enable_default_constructor constexpr.
Tim Shen [Tue, 6 Dec 2016 11:26:48 +0000 (11:26 +0000)]
enable_special_members.h: Make _Enable_default_constructor constexpr.

* include/bits/enable_special_members.h: Make
_Enable_default_constructor constexpr.
* include/std/variant (variant::emplace, variant::swap, std::swap,
std::hash): Sfinae on emplace and std::swap; handle __poison_hash bases
of duplicated types.
* testsuite/20_util/variant/compile.cc: Add tests.
* testsuite/20_util/variant/hash.cc: Add tests.

From-SVN: r243294

7 years agovariant (std::get, operator==): Implement constexpr comparison and get<>.
Tim Shen [Tue, 6 Dec 2016 11:20:13 +0000 (11:20 +0000)]
variant (std::get, operator==): Implement constexpr comparison and get<>.

* include/std/variant (std::get, operator==): Implement constexpr
comparison and get<>.
* testsuite/20_util/variant/compile.cc: Tests.

From-SVN: r243293

7 years agovariant (__erased_use_alloc_ctor, [...]): Remove uses-allocator related functions.
Tim Shen [Tue, 6 Dec 2016 11:17:56 +0000 (11:17 +0000)]
variant (__erased_use_alloc_ctor, [...]): Remove uses-allocator related functions.

* include/std/variant (__erased_use_alloc_ctor,
_Variant_base::_Variant_base, variant::variant): Remove uses-allocator
related functions.
* testsuite/20_util/variant/compile.cc: Remove related tests.
* testsuite/20_util/variant/run.cc: Remove related tests.

From-SVN: r243292

7 years agoAdd missing noexcept on std::_Sp_locker constructors
Aditya Kumar [Tue, 6 Dec 2016 10:43:49 +0000 (10:43 +0000)]
Add missing noexcept on std::_Sp_locker constructors

2016-12-06  Aditya Kumar  <hiraditya@msn.com>

* src/c++11/shared_ptr.cc (_Sp_locker::_Sp_locker(const void* p)): Add
noexcept on constructor.
(_Sp_locker::_Sp_locker(const void* p1, const void* p2)): Same.

From-SVN: r243291

7 years agoAdd noexcept to various basic_string string operations
Jonathan Wakely [Tue, 6 Dec 2016 10:43:42 +0000 (10:43 +0000)]
Add noexcept to various basic_string string operations

* include/bits/basic_string.h (basic_string::find, basic_string::rfind)
(basic_string::find_first_of, basic_string::find_last_of)
(basic_string::find_first_not_of, basic_string::find_last_not_of):
Make all overloads noexcept.
(basic_string::compare(const _CharT*)): Make noexcept.

From-SVN: r243290

7 years agore PR middle-end/78548 (ICE on valid C code on x86_64-linux-gnu at -O2 and -O3 in...
Aldy Hernandez [Tue, 6 Dec 2016 10:35:37 +0000 (10:35 +0000)]
re PR middle-end/78548 (ICE on valid C code on x86_64-linux-gnu at -O2 and -O3 in 64-bit mode with -Wall (*** Error in `/usr/local/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/7.0.0/cc1': double free or corruption (fasttop): 0x0000000003c15810 ***))

PR middle-end/78548
* tree-ssa-uninit.c (simplify_preds_4): Call release() instead of
destroy_predicate_vecs.
(uninit_uses_cannot_happen): Make uninit_preds a scalar.

From-SVN: r243289

7 years agore PR middle-end/78566 (gcc.dg/uninit-pred-6_[abc]*.c regressions on some non-x86...
Aldy Hernandez [Tue, 6 Dec 2016 10:33:41 +0000 (10:33 +0000)]
re PR middle-end/78566 (gcc.dg/uninit-pred-6_[abc]*.c regressions on some non-x86 platforms)

PR middle-end/78566
* tree-ssa-uninit.c (can_one_predicate_be_invalidated_p): Change
argument type to a pred_chain.
(can_chain_union_be_invalidated_p): Use pred_chain instead of a
worklist.
(flatten_out_predicate_chains): Remove.
(uninit_uses_cannot_happen): Rename from
uninit_ops_invalidate_phi_use.
Change logic so that we are checking that the PHI use will
invalidate _ALL_ possibly uninitialized operands.
(is_use_properly_guarded): Rename call to
uninit_ops_invalidate_phi_use into uninit_uses_cannot_happen.

From-SVN: r243288

7 years ago2016-12-06 Tamar Christina <tamar.christina@arm.com>
Tamar Christina [Tue, 6 Dec 2016 09:56:52 +0000 (09:56 +0000)]
2016-12-06  Tamar Christina  <tamar.christina@arm.com>

* gcc/config/aarch64/arm_neon.h
(vreinterpretq_p8_p128, vreinterpretq_p16_p128): Added.
(vreinterpret_p64_p16, vreinterpretq_p64_p128): Likewise.
(vreinterpretq_p64_p16, vreinterpretq_p128_p8): Likewise.
(vreinterpretq_p128_p16, vreinterpretq_p128_f16): Likewise.
(vreinterpretq_p128_f32, vreinterpretq_p128_p64): Likewise.
(vreinterpretq_p128_s64, vreinterpretq_p128_u64): Likewise.
(vreinterpretq_p128_s8, vreinterpretq_p128_s16): Likewise.
(vreinterpretq_p128_s32, vreinterpretq_p128_u8): Likewise.
(vreinterpretq_p128_u16, vreinterpretq_p128_u32): Likewise.
(vreinterpretq_f16_p128, vreinterpretq_f32_p128): Likewise.
(vreinterpretq_s64_p128, vreinterpretq_u64_p128): Likewise.
(vreinterpretq_s8_p128, vreinterpretq_s16_p128): Likewise.
(vreinterpretq_s32_p128, vreinterpretq_u8_p128): Likewise.
(vreinterpretq_u16_p128, vreinterpretq_u32_p128): Likewise.

From-SVN: r243287

7 years agore PR c++/71537 (GCC rejects consetxpr boolean conversions and comparisons on the...
Jakub Jelinek [Tue, 6 Dec 2016 09:24:36 +0000 (10:24 +0100)]
re PR c++/71537 (GCC rejects consetxpr boolean conversions and comparisons on the result of pointer arithmetic.)

PR c++/71537
* fold-const.c (fold_comparison): Assume CONSTANT_CLASS_P (base0)
plus offset is non-zero.  For maybe_nonzero_address decl base0,
require indirect_base0.

* g++.dg/cpp0x/constexpr-71537.C: New test.

From-SVN: r243286

7 years agore PR c++/71537 (GCC rejects consetxpr boolean conversions and comparisons on the...
Jakub Jelinek [Tue, 6 Dec 2016 09:23:51 +0000 (10:23 +0100)]
re PR c++/71537 (GCC rejects consetxpr boolean conversions and comparisons on the result of pointer arithmetic.)

2016-12-06  Jakub Jelinek  <jakub@redhat.com>

PR c++/71537
* fold-const-call.c (fold_const_call_1): Remove memchr handling here.
(fold_const_call) <case CFN_BUILT_IN_STRNCMP,
case CFN_BUILT_IN_STRNCASECMP>: Formatting improvements.
(fold_const_call) <case CFN_BUILT_IN_MEMCMP>: Likewise.  If s2 is 0
and arguments have no side-effects, return 0.
(fold_const_call): Handle CFN_BUILT_IN_MEMCHR.

* g++.dg/cpp0x/constexpr-memchr.C: New test.

From-SVN: r243285

7 years agore PR c++/71537 (GCC rejects consetxpr boolean conversions and comparisons on the...
Jakub Jelinek [Tue, 6 Dec 2016 09:22:36 +0000 (10:22 +0100)]
re PR c++/71537 (GCC rejects consetxpr boolean conversions and comparisons on the result of pointer arithmetic.)

PR c++/71537
* fold-const-call.c (fold_const_call): Handle
CFN_BUILT_IN_{INDEX,STRCHR,RINDEX,STRRCHR}.

* g++.dg/cpp0x/constexpr-strchr.C: New test.

From-SVN: r243284

7 years agore PR tree-optimization/78675 (ICE: verify_gimple failed (error: integral result...
Jakub Jelinek [Tue, 6 Dec 2016 09:21:13 +0000 (10:21 +0100)]
re PR tree-optimization/78675 (ICE: verify_gimple failed (error: integral result type precision does not match field size of BIT_FIELD_REF))

2016-12-06  Jakub Jelinek  <jakub@redhat.com>

PR tree-optimization/78675
* tree-vect-loop.c (vectorizable_live_operation): For
VECTOR_BOOLEAN_TYPE_P vectype use integral type with bitsize precision
instead of TREE_TYPE (vectype) for the BIT_FIELD_REF.

* gcc.c-torture/execute/pr78675.c: New test.
* gcc.target/i386/pr78675-1.c: New test.
* gcc.target/i386/pr78675-2.c: New test.

From-SVN: r243283

7 years agore PR middle-end/78642 (invalid rtl sharing found in the insn)
Eric Botcazou [Tue, 6 Dec 2016 07:03:04 +0000 (07:03 +0000)]
re PR middle-end/78642 (invalid rtl sharing found in the insn)

PR middle-end/78642
* emit-rtl.c (verify_rtx_sharing) <CLOBBER>: Relax condition.
(copy_rtx_if_shared_1) <CLOBBER>: Likewise.
(copy_insn_1) <CLOBBER>: Likewise.

From-SVN: r243282

7 years agoOops, fix date
DJ Delorie [Tue, 6 Dec 2016 06:40:07 +0000 (01:40 -0500)]
Oops, fix date

From-SVN: r243281

7 years ago* argv.c (expandargv): Check for directories passed as @-files.
DJ Delorie [Tue, 6 Dec 2016 06:38:23 +0000 (01:38 -0500)]
* argv.c (expandargv): Check for directories passed as @-files.

From-SVN: r243280

7 years agore PR target/78688 (PowerPC fails bootstrap)
Michael Meissner [Tue, 6 Dec 2016 00:58:40 +0000 (00:58 +0000)]
re PR target/78688 (PowerPC fails bootstrap)

2016-12-05  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/78688
* config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Use IN_RANGE
instead of ((N) >= (X) && (N) <= (Y-X)) to silence warnings about
comparing signed to unsigned values.
(FUNCTION_ARG_REGNO_P): Likewise.

From-SVN: r243278

7 years agoDaily bump.
GCC Administrator [Tue, 6 Dec 2016 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243277

7 years ago* es.po, fr.po: Update.
Joseph Myers [Mon, 5 Dec 2016 22:49:31 +0000 (22:49 +0000)]
* es.po, fr.po: Update.

From-SVN: r243273

7 years agore PR tree-optimization/78646 (incorrect result type for pointer addition in slsr)
Bill Schmidt [Mon, 5 Dec 2016 21:48:27 +0000 (21:48 +0000)]
re PR tree-optimization/78646 (incorrect result type for pointer addition in slsr)

2016-12-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
    Stefan Freudenberger  <stefan@reservoir.com>

PR tree-optimization/78646
* gimple-ssa-strength-reduction.c (replace_ref): The pointer
addition used for the memory base expression should have the type
of the candidate.

Co-Authored-By: Stefan Freudenberger <stefan@reservoir.com>
From-SVN: r243272

7 years agore PR target/71721 (uclinux posix threads)
Jeff Law [Mon, 5 Dec 2016 17:49:41 +0000 (10:49 -0700)]
re PR target/71721 (uclinux posix threads)

PR target/71721
* config.gcc (*-*-uclinux*): Enable posix threads.
Adding BZ marker

From-SVN: r243269

7 years ago* config.gcc (*-*-uclinux*): Enable posix threads.
Waldemar Brodkorb [Mon, 5 Dec 2016 17:48:39 +0000 (17:48 +0000)]
* config.gcc (*-*-uclinux*): Enable posix threads.

From-SVN: r243268

7 years agoAdd AVX512 k-mask intrinsics
Andrew Senkevich [Mon, 5 Dec 2016 17:18:42 +0000 (17:18 +0000)]
Add AVX512 k-mask intrinsics

gcc/

2016-12-05  Andrew Senkevich  <andrew.senkevich@intel.com>

* config/i386/avx512bwintrin.h: Add new k-mask intrinsics.
* config/i386/avx512dqintrin.h: Ditto.
* config/i386/avx512fintrin.h: Ditto.
* config/i386/i386-builtin-types.def (UCHAR_FTYPE_UQI_UQI_PUCHAR,
UCHAR_FTYPE_UHI_UHI_PUCHAR, UCHAR_FTYPE_USI_USI_PUCHAR,
UCHAR_FTYPE_UDI_UDI_PUCHAR, UCHAR_FTYPE_UQI_UQI, UCHAR_FTYPE_UHI_UHI,
UCHAR_FTYPE_USI_USI, UCHAR_FTYPE_UDI_UDI, UQI_FTYPE_UQI_INT,
UHI_FTYPE_UHI_INT, USI_FTYPE_USI_INT, UDI_FTYPE_UDI_INT,
UQI_FTYPE_UQI, USI_FTYPE_USI, UDI_FTYPE_UDI, UQI_FTYPE_UQI_UQI): New
function types.
* config/i386/i386-builtin.def (__builtin_ia32_knotqi,
__builtin_ia32_knotsi, __builtin_ia32_knotdi,
__builtin_ia32_korqi, __builtin_ia32_korsi, __builtin_ia32_kordi,
__builtin_ia32_kxnorqi, __builtin_ia32_kxnorsi,
__builtin_ia32_kxnordi, __builtin_ia32_kxorqi, __builtin_ia32_kxorsi,
__builtin_ia32_kxordi, __builtin_ia32_kandqi,
__builtin_ia32_kandsi, __builtin_ia32_kanddi, __builtin_ia32_kandnqi,
__builtin_ia32_kandnsi, __builtin_ia32_kandndi): New.
* config/i386/i386.c (ix86_expand_args_builtin): Handle new types.

gcc/testsuite/

2016-12-05  Andrew Senkevich  <andrew.senkevich@intel.com>

* gcc.target/i386/avx512bw-kandd-1.c: New.
* gcc.target/i386/avx512bw-kandnd-1.c: Ditto.
* gcc.target/i386/avx512bw-kandnq-1.c: Ditto.
* gcc.target/i386/avx512bw-kandq-1.c: Ditto.
* gcc.target/i386/avx512bw-knotd-1.c: Ditto.
* gcc.target/i386/avx512bw-knotq-1.c: Ditto.
* gcc.target/i386/avx512bw-kord-1.c: Ditto.
* gcc.target/i386/avx512bw-korq-1.c: Ditto.
* gcc.target/i386/avx512bw-kunpckdq-3.c: Ditto.
* gcc.target/i386/avx512bw-kunpckwd-3.c: Ditto.
* gcc.target/i386/avx512bw-kxnord-1.c: Ditto.
* gcc.target/i386/avx512bw-kxnorq-1.c: Ditto.
* gcc.target/i386/avx512bw-kxord-1.c: Ditto.
* gcc.target/i386/avx512bw-kxorq-1.c: Ditto.
* gcc.target/i386/avx512dq-kandb-1.c: Ditto.
* gcc.target/i386/avx512dq-kandnb-1.c: Ditto.
* gcc.target/i386/avx512dq-knotb-1.c: Ditto.
* gcc.target/i386/avx512dq-korb-1.c: Ditto.
* gcc.target/i386/avx512dq-kxnorb-1.c: Ditto.
* gcc.target/i386/avx512dq-kxorb-1.c: Ditto.
* gcc.target/i386/avx512f-kunpckbw-3.c: Ditto.
* gcc.target/i386/avx512f-kandnw-1.c: Removed unneeded check.

From-SVN: r243265

7 years agoSubject: [PATCH] Revert "Do not simplify "(and (reg) (const bit)" to
Segher Boessenkool [Mon, 5 Dec 2016 13:54:42 +0000 (14:54 +0100)]
Subject: [PATCH] Revert "Do not simplify "(and (reg) (const bit)" to
 if_then_else."

* combine.c: Revert r243162.

From-SVN: r243256

7 years agomatch.pd: Simplify X ? C : 0 where C is a power of 2 and X tests a single bit.
Paolo Bonzini [Mon, 5 Dec 2016 13:19:34 +0000 (13:19 +0000)]
match.pd: Simplify X ? C : 0 where C is a power of 2 and X tests a single bit.

gcc:
* match.pd: Simplify X ? C : 0 where C is a power of 2 and
X tests a single bit.

gcc/testsuite:
* gcc.dg/fold-and-lshift.c, gcc.dg/fold-and-rshift-1.c,
gcc.dg/fold-and-rshift-2.c: New testcases.

From-SVN: r243255

7 years agodiagnostic.c (diagnostic_check_max_errors): New, broken out of ...
Nathan Sidwell [Mon, 5 Dec 2016 12:24:39 +0000 (12:24 +0000)]
diagnostic.c (diagnostic_check_max_errors): New, broken out of ...

gcc/
* diagnostic.c (diagnostic_check_max_errors): New, broken out of ...
(diagnostic_action_after_output): ... here.
(diagnostic_report_diagnostic): Call it for non-notes.
* diagnostic.h (struct diagnostic_context): Make max_errors signed
int.
(diagnostic_check_max_errors): Declare.

gcc/fortran/
* error.c (gfc_warning_check): Call diagnostic_check_max_errors.
(gfc_error_check): Likewise.

gcc/testsuite/
* c-c++-common/fmax_errors.c: Check notes after last error are
emitted.

From-SVN: r243254

7 years agore PR ada/48835 (porting GNAT to m68k-linux)
Mikael Pettersson [Mon, 5 Dec 2016 11:27:55 +0000 (12:27 +0100)]
re PR ada/48835 (porting GNAT to m68k-linux)

PR ada/48835
* gcc-interface/Makefile.in: Add support for m68k-linux.
* system-linux-m68k.ads: New file.

From-SVN: r243247

7 years ago[ARC] Fix PIE.
Cupertino Miranda [Mon, 5 Dec 2016 11:16:52 +0000 (11:16 +0000)]
[ARC] Fix PIE.

gcc/
2016-12-05  Cupertino Miranda  <cmiranda@synopsys.com>

* config/arc/arc.h (STARTFILE_SPEC): Use default linux specs.
(ENDFILE_SPEC): Likewise.

libgcc/
2016-12-05  Cupertino Miranda  <cmiranda@synopsys.com>

* config.host (arc*-*-linux-uclibc*): Use default extra
objects. Include linux-android header.
* config/arc/crti.S (_init): Declare symbol as function.
(_fini): Likewise.

From-SVN: r243245

7 years ago[ARC] Remove unused patterns, refactor unspec+offset pattern gen.
Claudiu Zissulescu [Mon, 5 Dec 2016 11:16:38 +0000 (12:16 +0100)]
[ARC] Remove unused patterns, refactor unspec+offset pattern gen.

2016-12-05  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc-protos.h (insn_is_tls_gd_dispatch): Remove.
* config/arc/arc.c (arc_unspec_offset): New function.
(arc_finalize_pic): Change.
(arc_emit_call_tls_get_addr): Likewise.
(arc_legitimize_tls_address): Likewise.
(arc_legitimize_pic_address): Likewise.
(insn_is_tls_gd_dispatch): Remove.
* config/arc/arc.h (INSN_REFERENCES_ARE_DELAYED): Change.
* config/arc/arc.md (ls_gd_load): Remove unused pattern.
(tls_gd_dispatch): Likewise.

From-SVN: r243244

7 years agosystem-darwin-ppc.ads (Support_Atomic_Primitives): Set to True only if the word size...
Eric Botcazou [Mon, 5 Dec 2016 11:15:17 +0000 (11:15 +0000)]
system-darwin-ppc.ads (Support_Atomic_Primitives): Set to True only if the word size is 64.

* system-darwin-ppc.ads (Support_Atomic_Primitives): Set to True only
if the word size is 64.

From-SVN: r243243

7 years agoFix arm-netbsdelf bootstrap.
Andre Vieira [Mon, 5 Dec 2016 09:44:24 +0000 (09:44 +0000)]
Fix arm-netbsdelf bootstrap.

    2016-12-025  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* config/arm/arm.c (TARGET_ASM_INIT_SECTIONS): Fix wrong undef
location.

From-SVN: r243240

7 years ago[Patch 2/2 PR78561] Recalculate constant pool size before emitting it
James Greenhalgh [Mon, 5 Dec 2016 09:35:28 +0000 (09:35 +0000)]
[Patch 2/2 PR78561] Recalculate constant pool size before emitting it

gcc/testsuite/

PR rtl-optimization/78561
* gcc.target/aarch64/pr78561.c: Add missing testcase from r243183.

From-SVN: r243239

7 years agosparc-protos.h (sparc_splitdi_legitimate): Rename to...
Eric Botcazou [Mon, 5 Dec 2016 09:30:57 +0000 (09:30 +0000)]
sparc-protos.h (sparc_splitdi_legitimate): Rename to...

* config/sparc/sparc-protos.h (sparc_splitdi_legitimate): Rename to...
(sparc_split_reg_mem_legitimate): ...this.
(sparc_split_reg_mem): Declare.
(sparc_split_mem_reg): Likewise.
(sparc_split_regreg_legitimate): Rename to...
(sparc_split_reg_reg_legitimate): ...this.
* config/sparc/sparc.c (sparc_splitdi_legitimate): Rename to...
(sparc_split_reg_mem_legitimate): ...this.
(sparc_split_reg_mem): New function.
(sparc_split_mem_reg): Likewise.
(sparc_split_regreg_legitimate): Rename to...
(sparc_split_reg_reg_legitimate): ...this.
(sparc_split_reg_reg): New function.
* config/sparc/sparc.md (lra): Remove "none" value.
(enabled): Adjust to above change.
(*movdi_insn_sp32): Remove new (r,T) alternative and reorder others.
(DImode splitters): Adjust to above renamings and use new functions.
(*movdf_insn_sp32): Remove new (r,T) alternative and reorder others.
(DFmode splitters): Adjust to above renamings and use new functions.
(*mov<VM64:mode>_insn_sp64): Replace C with Z constraint and use W
constraint in conjunction with e.
(*mov<VM64:mode>_insn_sp32): Remove new (r,T) alternative, add (o,Y)
alternative and reorder others.
(VM64:mode splitters): Adjust to above renamings and use new functions.

From-SVN: r243238

7 years agoDaily bump.
GCC Administrator [Mon, 5 Dec 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243235

7 years agore PR fortran/78618 (ICE in gfc_check_rank, at fortran/check.c:3670)
Janus Weil [Sun, 4 Dec 2016 20:31:26 +0000 (21:31 +0100)]
re PR fortran/78618 (ICE in gfc_check_rank, at fortran/check.c:3670)

2016-12-04  Janus Weil  <janus@gcc.gnu.org>

PR fortran/78618
* intrinsic.c (gfc_convert_type_warn): Do not set the full typespec for
the conversion symbol, but only type and kind. Set the full typespec
for the expression.
(gfc_convert_chartype): Ditto.

From-SVN: r243232

7 years agoPR c/78668 - aligned_alloc, realloc, et al. missing attribute alloc_size
Martin Sebor [Sun, 4 Dec 2016 17:48:44 +0000 (17:48 +0000)]
PR c/78668 - aligned_alloc, realloc, et al. missing attribute alloc_size

gcc/ChangeLog:

PR c/78668
        * builtin-attrs.def (ATTR_ALLOC_SIZE, ATTR_RETURNS_NONNULL): New
        identifier tree nodes.
        (ATTR_ALLOCA_SIZE_1_NOTHROW_LEAF_LIST): New attribute list.
        (ATTR_MALLOC_SIZE_1_NOTHROW_LIST): Same.
        (ATTR_MALLOC_SIZE_1_NOTHROW_LEAF_LIST): Same.
        (ATTR_MALLOC_SIZE_1_2_NOTHROW_LEAF_LIST): Same.
        (ATTR_ALLOC_SIZE_2_NOTHROW_LEAF_LIST): Same.
        * builtins.def (aligned_alloc, calloc, malloc, realloc):
        Add attribute alloc_size.
        (alloca): Add attribute alloc_size and returns_nonnull.

gcc/testsuite/ChangeLog:

PR c/78668
* gcc.dg/builtin-alloc-size.c: New test.

From-SVN: r243231

7 years agore PR target/70322 (STV doesn't optimize andn)
Uros Bizjak [Sun, 4 Dec 2016 14:38:05 +0000 (15:38 +0100)]
re PR target/70322 (STV doesn't optimize andn)

PR target/70322
* config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Handle NEG.
(dimode_scalar_chain::compute_convert_gain): Ditto.
(dimode_scalar_chain::convert_insn): Ditto.

testsuite/ChangeLog:

PR target/70322
* gcc.target/i386/pr70322-4.c: New test.

From-SVN: r243228

7 years agoDaily bump.
GCC Administrator [Sun, 4 Dec 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243227

7 years agore PR fortran/43207 ([OOP] invalid (pointer) assignment to and from abstract non...
Janus Weil [Sat, 3 Dec 2016 18:48:48 +0000 (19:48 +0100)]
re PR fortran/43207 ([OOP] invalid (pointer) assignment to and from abstract non-polymorphic expressions)

2016-12-03  Janus Weil  <janus@gcc.gnu.org>

PR fortran/43207
* primary.c (gfc_match_varspec): Reject nonpolymorphic references to
abstract types.

2016-12-03  Janus Weil  <janus@gcc.gnu.org>

PR fortran/43207
* gfortran.dg/abstract_type_9.f90: New test case.

From-SVN: r243224

7 years agore PR fortran/42188 ([OOP] F03:C612. The leftmost part-name shall be the name of...
Janus Weil [Sat, 3 Dec 2016 18:37:57 +0000 (19:37 +0100)]
re PR fortran/42188 ([OOP] F03:C612. The leftmost part-name shall be the name of a data object.)

2016-12-03  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42188
* primary.c (gfc_match_rvalue): Add a new check that gives better error
messages.

2016-12-03  Janus Weil  <janus@gcc.gnu.org>

PR fortran/42188
* gfortran.dg/derived_result_2.f90.f90: New test case.

From-SVN: r243223

7 years agolra-constraints.c (emit_spill_move): Use gen_lowpart_SUBREG in all cases to build...
Eric Botcazou [Sat, 3 Dec 2016 17:37:13 +0000 (17:37 +0000)]
lra-constraints.c (emit_spill_move): Use gen_lowpart_SUBREG in all cases to build a lowpart SUBREG.

* lra-constraints.c (emit_spill_move): Use gen_lowpart_SUBREG in all
cases to build a lowpart SUBREG.

From-SVN: r243222

7 years agoconstraints.md (U): Adjust comment.
Eric Botcazou [Sat, 3 Dec 2016 17:29:43 +0000 (17:29 +0000)]
constraints.md (U): Adjust comment.

* config/sparc/constraints.md (U): Adjust comment.
* config/sparc/sparc.md (lra): New attribute.
(enabled): For base instructions, if the lra attribute is set,
return 1 if it is in keeping with TARGET_LRA.
(*movdi_insn_sp32): Add lra attribute for alternatives mentioning U
constraint and duplicate them with U replaced by r.
(*movdf_insn_sp32): Likewise.
(*mov<VM64:mode>_insn_sp32): Likewise.
(*movtf_insn_sp32): Remove alternatives mentioning U constraint.

From-SVN: r243221

7 years agobaseline_symbols.txt: Regenerate.
John David Anglin [Sat, 3 Dec 2016 16:10:43 +0000 (16:10 +0000)]
baseline_symbols.txt: Regenerate.

* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Regenerate.

From-SVN: r243220

7 years agore PR libfortran/78379 (Processor-specific versions for matmul)
Thomas Koenig [Sat, 3 Dec 2016 09:44:35 +0000 (09:44 +0000)]
re PR libfortran/78379 (Processor-specific versions for matmul)

2016-12-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR fortran/78379
        * config/i386/cpuinfo.c:  Move denums for processor vendors,
        processor type, processor subtypes and declaration of
        struct __processor_model into
        * config/i386/cpuinfo.h:  New header file.
        * Makefile.am:  Add dependence of m4/matmul_internal_m4 to
        mamtul files..
        * Makefile.in:  Regenerated.
        * acinclude.m4:  Check for AVX, AVX2 and AVX512F.
        * config.h.in:  Add HAVE_AVX, HAVE_AVX2 and HAVE_AVX512F.
        * configure:  Regenerated.
        * configure.ac:  Use checks for AVX, AVX2 and AVX_512F.
        * m4/matmul_internal.m4:  New file. working part of matmul.m4.
        * m4/matmul.m4:  Implement architecture-specific switching
        for AVX, AVX2 and AVX512F by including matmul_internal.m4
        multiple times.
        * generated/matmul_c10.c: Regenerated.
        * generated/matmul_c16.c: Regenerated.
        * generated/matmul_c4.c: Regenerated.
        * generated/matmul_c8.c: Regenerated.
        * generated/matmul_i1.c: Regenerated.
        * generated/matmul_i16.c: Regenerated.
        * generated/matmul_i2.c: Regenerated.
        * generated/matmul_i4.c: Regenerated.
        * generated/matmul_i8.c: Regenerated.
        * generated/matmul_r10.c: Regenerated.
        * generated/matmul_r16.c: Regenerated.
        * generated/matmul_r4.c: Regenerated.
        * generated/matmul_r8.c: Regenerated.

From-SVN: r243219

7 years agore PR fortran/58175 ([OOP] Incorrect warning message on scalar finalizer)
Janus Weil [Sat, 3 Dec 2016 09:32:27 +0000 (10:32 +0100)]
re PR fortran/58175 ([OOP] Incorrect warning message on scalar finalizer)

2016-12-03  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58175
* resolve.c (gfc_resolve_finalizers): Prevent bogus warning.

2016-12-03  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58175
* gfortran.dg/finalize_30.f90: Extend test case.

From-SVN: r243218

7 years agoexpr.c (gfc_build_conversion): Remove unneeded initialization.
Steven G. Kargl [Sat, 3 Dec 2016 07:23:13 +0000 (07:23 +0000)]
expr.c (gfc_build_conversion): Remove unneeded initialization.

2016-12-02   Steven G. Kargl  <kargl@gcc.gnu.org>

* expr.c (gfc_build_conversion): Remove unneeded initialization.

From-SVN: r243217

7 years agoarm.c (arm_handle_cmse_nonsecure_call): Remove unused variable main_variant.
Jeff Law [Sat, 3 Dec 2016 02:02:51 +0000 (19:02 -0700)]
arm.c (arm_handle_cmse_nonsecure_call): Remove unused variable main_variant.

* config/arm/arm.c (arm_handle_cmse_nonsecure_call): Remove unused
variable main_variant.

From-SVN: r243216

7 years agoconfig.gcc (powerpc*-*-linux*): Set gnu-indirect-function by default on PowerPC linux...
Michael Meissner [Sat, 3 Dec 2016 00:41:44 +0000 (00:41 +0000)]
config.gcc (powerpc*-*-linux*): Set gnu-indirect-function by default on PowerPC linux systems.

2016-12-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config.gcc (powerpc*-*-linux*): Set gnu-indirect-function by
default on PowerPC linux systems.

From-SVN: r243215

7 years agoDaily bump.
GCC Administrator [Sat, 3 Dec 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r243214

7 years agosimplify-rtx: Fix the last fix (PR78638)
Segher Boessenkool [Fri, 2 Dec 2016 23:51:31 +0000 (00:51 +0100)]
simplify-rtx: Fix the last fix (PR78638)

I managed to get the last obvious fix wrong: mode is M1, GET_MODE (op)
is M2.

* simplify-rtx.c (simplify_truncation): M2 is not mode, it is
GET_MODE (op).  Fix this.

From-SVN: r243210

7 years agoselftest.c: remove calls to strndup (PR bootstrap/78616)
David Malcolm [Fri, 2 Dec 2016 22:39:43 +0000 (22:39 +0000)]
selftest.c: remove calls to strndup (PR bootstrap/78616)

gcc/ChangeLog:
PR bootstrap/78616
* selftest.c (selftest::assert_strndup_eq): Rename to...
(selftest::assert_xstrndup_eq): ...this, and remove call to
strndup.
(selftest::test_strndup): Rename to...
(selftest::test_xstrndup): ...this, updating for above renaming.
(selftest::test_libiberty): Update for renaming.

From-SVN: r243207

7 years agore PR target/78639 (Power9 bad code generation for cactusADM benchmark)
Michael Meissner [Fri, 2 Dec 2016 22:12:08 +0000 (22:12 +0000)]
re PR target/78639 (Power9 bad code generation for cactusADM benchmark)

2016-12-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/78639
* config/rs6000/rs6000.md (movdi_internal64): Fix typo in
subversion id 242679 that causes the wrong store instruction to be
generated if a DImode is in an Altivec register using REG+REG
addressing.

From-SVN: r243206

7 years agosimplify.c (gfc_convert_char_constant): Free result on error.
Steven G. Kargl [Fri, 2 Dec 2016 22:09:13 +0000 (22:09 +0000)]
simplify.c (gfc_convert_char_constant): Free result on error.

2016-12-02  Steven G. Kargl  <kargl@gcc.gnu.org>

* simplify.c (gfc_convert_char_constant): Free result on error.

From-SVN: r243205

7 years agore PR c++/78649 (ICE on invalid C++ code on x86_64-linux-gnu (internal compiler error...
Jakub Jelinek [Fri, 2 Dec 2016 21:23:22 +0000 (22:23 +0100)]
re PR c++/78649 (ICE on invalid C++ code on x86_64-linux-gnu (internal compiler error: tree check: expected class â€˜type’, have â€˜exceptional’ (error_mark) in build_value_init_noctor, at cp/init.c:380))

PR c++/78649
* pt.c (tsubst_init): Don't call build_value_init if decl's type
is error_mark_node.

* g++.dg/cpp0x/pr78649.C: New test.

From-SVN: r243204

7 years agore PR target/70322 (STV doesn't optimize andn)
Uros Bizjak [Fri, 2 Dec 2016 18:48:35 +0000 (19:48 +0100)]
re PR target/70322 (STV doesn't optimize andn)

PR target/70322
* config/i386/i386.md (*andndi3_doubleword): Add non-BMI alternative
and corresponding post-reload splitter.

testsuite/ChangeLog:

PR target/70322
* gcc.target/i386/pr70322-2.c (dg-final): Remove xfail.

From-SVN: r243202

7 years ago[multiple changes]
Janus Weil [Fri, 2 Dec 2016 18:38:24 +0000 (19:38 +0100)]
[multiple changes]

2016-12-02  Janus Weil  <janus@gcc.gnu.org>
    Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/78618
* check.c (gfc_check_rank): Remove ATTRIBUTE_UNUSED.
* expr.c (gfc_check_assign): Fix error propagation.

2016-12-02  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/78618
* gfortran.dg/char_conversion.f90: New test.

From-SVN: r243201

7 years ago[AArch64] Separate shrink wrapping hooks implementation
Kyrylo Tkachov [Fri, 2 Dec 2016 17:13:08 +0000 (17:13 +0000)]
[AArch64] Separate shrink wrapping hooks implementation

* config/aarch64/aarch64.h (machine_function): Add
reg_is_wrapped_separately field.
* config/aarch64/aarch64.md (LAST_SAVED_REGNUM): Define new constant.
* config/aarch64/aarch64.c (emit_set_insn): Change return type to
rtx_insn *.
(aarch64_save_callee_saves): Don't save registers that are wrapped
separately.
(aarch64_restore_callee_saves): Don't restore registers that are
wrapped separately.
(offset_9bit_signed_unscaled_p, offset_12bit_unsigned_scaled_p,
aarch64_offset_7bit_signed_scaled_p): Move earlier in the file.
(aarch64_get_separate_components): New function.
(aarch64_get_next_set_bit): Likewise.
(aarch64_components_for_bb): Likewise.
(aarch64_disqualify_components): Likewise.
(aarch64_emit_prologue_components): Likewise.
(aarch64_emit_epilogue_components): Likewise.
(aarch64_set_handled_components): Likewise.
(aarch64_process_components): Likewise.
(TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS,
TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB,
TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS,
TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS,
TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS,
TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Define.

From-SVN: r243200

7 years agoMove rebuild_cfg to the end of build_ssa_passes
Martin Jambor [Fri, 2 Dec 2016 17:05:10 +0000 (18:05 +0100)]
Move rebuild_cfg to the end of build_ssa_passes

2016-12-02  Martin Jambor  <mjambor@suse.cz>

* passes.def: Move pass_rebuild_cgraph_edges to the end of
pass_build_ssa_passes.

From-SVN: r243199

7 years agoalpha.md (exception_receiver): Copy alpha_gp_ave_rtx return value.
Uros Bizjak [Fri, 2 Dec 2016 16:53:23 +0000 (17:53 +0100)]
alpha.md (exception_receiver): Copy alpha_gp_ave_rtx return value.

* config/alpha/alpha.md (exception_receiver): Copy
alpha_gp_ave_rtx return value.

From-SVN: r243197

7 years agoMakefile.in (PREPROCESSOR_DEFINES): Add a level of indirection for several include...
Tadek Kijkowski [Fri, 2 Dec 2016 16:34:28 +0000 (16:34 +0000)]
Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection for several include directories that may be relative...

* Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection
for several include directories that may be relative to sysroot.
* config/i386/x-mingw32 (gplus_includedir): Define.
(gplus_tool_includedir, gplus_backward_include_dir): Likewise.
(native_system_includedir): Likewise.
* config/i386/mingw32.h (STANDARD_STARTFILE_PREFIX_1): Do not
override if TARGET_SYSTEM_ROOT is defined.
(NATIVE_SYSTEM_HEADER_DIR): Likewise.

From-SVN: r243196

7 years agore PR target/70322 (STV doesn't optimize andn)
Jakub Jelinek [Fri, 2 Dec 2016 16:28:41 +0000 (17:28 +0100)]
re PR target/70322 (STV doesn't optimize andn)

PR target/70322
* config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Handle
NOT.
(dimode_scalar_chain::compute_convert_gain): Likewise.
(dimode_scalar_chain::convert_insn): Likewise.
* config/i386/i386.md (*one_cmpldi2_doubleword): New
define_insn_and_split.
(one_cmpl<mode>2): Use SWIM1248x iterator instead of SWIM.

* gcc.target/i386/pr70322-1.c: New test.
* gcc.target/i386/pr70322-2.c: New test.
* gcc.target/i386/pr70322-3.c: New test.

From-SVN: r243195

7 years agore PR target/78614 (ICE error: invalid rtl sharing found in the insn (verify_rtx_shar...
Jakub Jelinek [Fri, 2 Dec 2016 15:42:04 +0000 (16:42 +0100)]
re PR target/78614 (ICE error: invalid rtl sharing found in the insn (verify_rtx_sharing) gcc/emit-rtl.c:2743)

PR target/78614
* rtl.c (copy_rtx): Don't clear used flag here.
(shallow_copy_rtx_stat): Clear used flag here unless code the rtx
is shareable.
* simplify-rtx.c (simplify_replace_fn_rtx): When copying rtx with
'E' in format, copy all vectors.
* emit-rtl.c (copy_insn_1): Don't clear used flag here.
* valtrack.c (cleanup_auto_inc_dec): Likewise.
* config/rs6000/rs6000.c (rs6000_frame_related): Likewise.

From-SVN: r243194

7 years agoAdded support for ARMV8-M Security Extension cmse_nonsecure_caller intrinsic
Andre Vieira [Fri, 2 Dec 2016 15:34:36 +0000 (15:34 +0000)]
Added support for ARMV8-M Security Extension cmse_nonsecure_caller intrinsic

    gcc/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme  <thomas.preudhomme@arm.com>

* config/arm/arm-builtins.c (arm_builtins): Define
ARM_BUILTIN_CMSE_NONSECURE_CALLER.
(bdesc_2arg): Add line for cmse_nonsecure_caller.
(arm_init_builtins): Handle cmse_nonsecure_caller.
(arm_expand_builtin): Likewise.
* config/arm/arm_cmse.h (cmse_nonsecure_caller): New.

    gcc/testsuite/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme  <thomas.preudhomme@arm.com>

* gcc.target/arm/cmse/cmse-1.c: Add test for
cmse_nonsecure_caller.

Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
From-SVN: r243193

7 years agoARMv8-M Security Extension's cmse_nonsecure_call: use __gnu_cmse_nonsecure_call
Andre Vieira [Fri, 2 Dec 2016 15:33:26 +0000 (15:33 +0000)]
ARMv8-M Security Extension's cmse_nonsecure_call: use __gnu_cmse_nonsecure_call

    gcc/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme  <thomas.preudhomme@arm.com>

* config/arm/arm.c (detect_cmse_nonsecure_call): New.
(cmse_nonsecure_call_clear_caller_saved): New.
(arm_reorg): Use cmse_nonsecure_call_clear_caller_saved.
(arm_function_ok_for_sibcall): Disable sibcalls for
cmse_nonsecure_call.
* config/arm/arm-protos.h (detect_cmse_nonsecure_call): New.
* config/arm/arm.md (call): Handle cmse_nonsecure_entry.
(call_value): Likewise.
(nonsecure_call_internal): New.
(nonsecure_call_value_internal): New.
* config/arm/thumb1.md (*nonsecure_call_reg_thumb1_v5): New.
(*nonsecure_call_value_reg_thumb1_v5): New.
* config/arm/thumb2.md (*nonsecure_call_reg_thumb2): New.
(*nonsecure_call_value_reg_thumb2): New.
* config/arm/unspecs.md (UNSPEC_NONSECURE_MEM): New.

    libgcc/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
       Thomas Preud'homme  <thomas.preudhomme@arm.com>

* config/arm/cmse_nonsecure_call.S: New.
* config/arm/t-arm: Compile cmse_nonsecure_call.S

    gcc/testsuite/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme  <thomas.preudhomme@arm.com>

* gcc.target/arm/cmse/cmse.exp: Run tests in mainline dir.
* gcc.target/arm/cmse/cmse-9.c: Added some extra tests.
* gcc.target/arm/cmse/cmse-14.c: New.
* gcc.target/arm/cmse/baseline/bitfield-4.c: New.
* gcc.target/arm/cmse/baseline/bitfield-5.c: New.
* gcc.target/arm/cmse/baseline/bitfield-6.c: New.
* gcc.target/arm/cmse/baseline/bitfield-7.c: New.
* gcc.target/arm/cmse/baseline/bitfield-8.c: New.
* gcc.target/arm/cmse/baseline/bitfield-9.c: New.
* gcc.target/arm/cmse/baseline/bitfield-and-union-1.c: New.
* gcc.target/arm/cmse/baseline/cmse-11.c: New.
* gcc.target/arm/cmse/baseline/cmse-13.c: New.
* gcc.target/arm/cmse/baseline/cmse-6.c: New.
* gcc.target/arm/cmse/baseline/union-1.c: New.
* gcc.target/arm/cmse/baseline/union-2.c: New.
* gcc.target/arm/cmse/mainline/bitfield-4.c: New.
* gcc.target/arm/cmse/mainline/bitfield-5.c: New.
* gcc.target/arm/cmse/mainline/bitfield-6.c: New.
* gcc.target/arm/cmse/mainline/bitfield-7.c: New.
* gcc.target/arm/cmse/mainline/bitfield-8.c: New.
* gcc.target/arm/cmse/mainline/bitfield-9.c: New.
* gcc.target/arm/cmse/mainline/bitfield-and-union-1.c: New.
* gcc.target/arm/cmse/mainline/union-1.c: New.
* gcc.target/arm/cmse/mainline/union-2.c: New.
* gcc.target/arm/cmse/mainline/hard-sp/cmse-13.c: New.
* gcc.target/arm/cmse/mainline/hard-sp/cmse-7.c: New.
* gcc.target/arm/cmse/mainline/hard-sp/cmse-8.c: New.
* gcc.target/arm/cmse/mainline/hard/cmse-13.c: New.
* gcc.target/arm/cmse/mainline/hard/cmse-7.c: New.
* gcc.target/arm/cmse/mainline/hard/cmse-8.c: New.
* gcc.target/arm/cmse/mainline/soft/cmse-13.c: New.
* gcc.target/arm/cmse/mainline/soft/cmse-7.c: New.
* gcc.target/arm/cmse/mainline/soft/cmse-8.c: New.
* gcc.target/arm/cmse/mainline/softfp-sp/cmse-7.c: New.
* gcc.target/arm/cmse/mainline/softfp-sp/cmse-8.c: New.
* gcc.target/arm/cmse/mainline/softfp/cmse-13.c: New.
* gcc.target/arm/cmse/mainline/softfp/cmse-7.c: New.
* gcc.target/arm/cmse/mainline/softfp/cmse-8.c: New.

Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
From-SVN: r243192

7 years agoHandling ARMv8-M Security Extension's cmse_nonsecure_call attribute
Andre Vieira [Fri, 2 Dec 2016 15:30:37 +0000 (15:30 +0000)]
Handling ARMv8-M Security Extension's cmse_nonsecure_call attribute

    gcc/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
        Thomas Preud'homme  <thomas.preudhomme@arm.com>

* config/arm/arm.c (gimplify.h): New include.
(arm_handle_cmse_nonsecure_call): New.
(arm_attribute_table): Added cmse_nonsecure_call.
(arm_comp_type_attributes): Deny compatibility of function types
with without the cmse_nonsecure_call attribute.
* doc/extend.texi (ARM ARMv8-M Security Extensions): New attribute.

    gcc/testsuite/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
        Thomas Preud'homme  <thomas.preudhomme@arm.com>

* gcc.target/arm/cmse/cmse-3.c: Add tests.
* gcc.target/arm/cmse/cmse-4.c: Add tests.
* gcc.target/arm/cmse/cmse-15.c: New.

Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
From-SVN: r243191

7 years agoARMv8-M Security Extension's cmse_nonsecure_entry: clear registers
Andre Vieira [Fri, 2 Dec 2016 15:29:03 +0000 (15:29 +0000)]
ARMv8-M Security Extension's cmse_nonsecure_entry: clear registers

    gcc/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme  <thomas.preudhomme@arm.com>

* config/arm/arm.c (output_return_instruction): Clear
registers.
(thumb2_expand_return): Likewise.
(thumb1_expand_epilogue): Likewise.
(thumb_exit): Likewise.
(arm_expand_epilogue): Likewise.
(cmse_nonsecure_entry_clear_before_return): New.
(comp_not_to_clear_mask_str_un): New.
(compute_not_to_clear_mask): New.
* config/arm/thumb1.md (*epilogue_insns): Change length attribute.
* config/arm/thumb2.md (*thumb2_return): Disable for
cmse_nonsecure_entry functions.
(*thumb2_cmse_entry_return): Duplicate thumb2_return pattern for
cmse_nonsecure_entry functions.

    gcc/testsuite/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme  <thomas.preudhomme@arm.com>

* gcc.target/arm/cmse/cmse.exp: Test different multilibs separate.
* gcc.target/arm/cmse/struct-1.c: New.
* gcc.target/arm/cmse/bitfield-1.c: New.
* gcc.target/arm/cmse/bitfield-2.c: New.
* gcc.target/arm/cmse/bitfield-3.c: New.
* gcc.target/arm/cmse/baseline/cmse-2.c: New.
* gcc.target/arm/cmse/baseline/softfp.c: New.
* gcc.target/arm/cmse/mainline/soft/cmse-5.c: New.
* gcc.target/arm/cmse/mainline/hard/cmse-5.c: New.
* gcc.target/arm/cmse/mainline/hard-sp/cmse-5.c: New.
* gcc.target/arm/cmse/mainline/softfp/cmse-5.c: New.
* gcc.target/arm/cmse/mainline/softfp-sp/cmse-5.c: New.

Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
From-SVN: r243190

7 years agoARMv8-M Security Extension's cmse_nonsecure_entry: __acle_se label and bxns
Andre Vieira [Fri, 2 Dec 2016 15:27:03 +0000 (15:27 +0000)]
ARMv8-M Security Extension's cmse_nonsecure_entry: __acle_se label and bxns
return

    gcc/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
    Thomas Preud'homme  <thomas.preudhomme@arm.com>

* config/arm/arm.c (use_return_insn): Change to return with  bxns
when cmse_nonsecure_entry.
(output_return_instruction): Likewise.
(arm_output_function_prologue): Likewise.
(thumb_pop): Likewise.
(thumb_exit): Likewise.
(thumb2_expand_return): Assert that entry functions always have simple
returns.
(arm_expand_epilogue): Handle entry functions.
(arm_function_ok_for_sibcall): Disable sibcall for entry functions.
(arm_asm_declare_function_name): New.
* config/arm/arm-protos.h (arm_asm_declare_function_name): New.
* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME): Redefine to
use arm_asm_declare_function_name.

    gcc/testsuite/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme  <thomas.preudhomme@arm.com>

* gcc.target/arm/cmse/cmse-4.c: New.
* gcc.target/arm/cmse/cmse-9.c: New.
* gcc.target/arm/cmse/cmse-10.c: New.

Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
From-SVN: r243189

7 years agoHandling ARMv8-M Security Extension's cmse_nonsecure_entry attribute
Andre Vieira [Fri, 2 Dec 2016 15:24:40 +0000 (15:24 +0000)]
Handling ARMv8-M Security Extension's cmse_nonsecure_entry attribute

    gcc/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
    Thomas Preud'homme  <thomas.preudhomme@arm.com>

* config/arm/arm.c (arm_handle_cmse_nonsecure_entry): New.
(arm_attribute_table): Added cmse_nonsecure_entry
(arm_compute_func_type): Handle cmse_nonsecure_entry.
(cmse_func_args_or_return_in_stack): New.
(arm_handle_cmse_nonsecure_entry): New.
* config/arm/arm.h (ARM_FT_CMSE_ENTRY): New macro define.
(IS_CMSE_ENTRY): Likewise.
* doc/extend.texi (ARM ARMv8-M Security Extensions): New attribute.

    gcc/testsuite/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
    Thomas Preud'homme  <thomas.preudhomme@arm.com>

* gcc.target/arm/cmse/cmse-3.c: New.

Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
From-SVN: r243188

7 years agoAdd support for ARMv8-M's Secure Extensions flag and intrinsics
Andre Vieira [Fri, 2 Dec 2016 15:22:43 +0000 (15:22 +0000)]
Add support for ARMv8-M's Secure Extensions flag and intrinsics

    gcc/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
        Thomas Preud'homme  <thomas.preudhomme@arm.com>

* config.gcc (extra_headers): Added arm_cmse.h.
* config/arm/arm-arches.def (ARM_ARCH):
(armv8-m): Add FL2_CMSE.
(armv8-m.main): Likewise.
(armv8-m.main+dsp): Likewise.
* config/arm/arm-c.c
(arm_cpu_builtins): Added __ARM_FEATURE_CMSE macro.
* config/arm/arm-flags.h: Define FL2_CMSE.
* config/arm.c (arm_arch_cmse): New.
(arm_option_override): New error for unsupported cmse target.
* config/arm/arm.h (arm_arch_cmse): New.
* config/arm/arm.opt (mcmse): New.
* config/arm/arm_cmse.h: New file.
* doc/invoke.texi (ARM Options): Add -mcmse.
* doc/sourcebuild.texi (arm_cmse_ok): Add new effective target.
* doc/extend.texi: Add ARMv8-M Security Extensions entry.

    gcc/testsuite/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
        Thomas Preud'homme  <thomas.preudhomme@arm.com>

* gcc.target/arm/cmse/cmse.exp: New.
* gcc.target/arm/cmse/cmse-1.c: New.
* gcc.target/arm/cmse/cmse-12.c: New.
* lib/target-supports.exp
(check_effective_target_arm_cmse_ok): New.

    libgcc/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
    Thomas Preud'homme  <thomas.preudhomme@arm.com>

* config/arm/t-arm (HAVE_CMSE): New.
* config/arm/cmse.c: New.

Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
From-SVN: r243187

7 years agoavr.c: Fix coding rule glitches.
Georg-Johann Lay [Fri, 2 Dec 2016 15:08:27 +0000 (15:08 +0000)]
avr.c: Fix coding rule glitches.

* config/avr/avr.c: Fix coding rule glitches.

From-SVN: r243186

7 years agoc-parser.c (c_parser_pragma): Error when PRAGMA_OACC_{ENTER_DATA...
Cesar Philippidis [Fri, 2 Dec 2016 14:54:39 +0000 (06:54 -0800)]
c-parser.c (c_parser_pragma): Error when PRAGMA_OACC_{ENTER_DATA...

gcc/c/
* c-parser.c (c_parser_pragma): Error when PRAGMA_OACC_{ENTER_DATA,
EXIT_DATA,WAIT} are not used in compound statements.
(c_parser_oacc_enter_exit_data): Update diagnostics.

gcc/cp/
* parser.c (cp_parser_oacc_enter_exit_data): Update diagnostics.
(cp_parser_pragma): Error when PRAGMA_OACC_{ENTER_DATA,
EXIT_DATA,WAIT} are not used in compound statements.

gcc/testsuite/
* c-c++-common/goacc/data-2.c: Adjust test.
* c-c++-common/goacc/executeables-1.c: New test.
* g++.dg/goacc/data-1.C: Adjust test.

Co-Authored-By: James Norris <jnorris@codesourcery.com>
From-SVN: r243185

7 years ago[hsa] Exclude parallel outlines from hsa_callable_functions_p
Martin Jambor [Fri, 2 Dec 2016 14:42:15 +0000 (15:42 +0100)]
[hsa] Exclude parallel outlines from hsa_callable_functions_p

2016-12-09  Martin Jambor  <mjambor@suse.cz>

* hsa.c (hsa_callable_function_p): Return false for artificial
functions.

From-SVN: r243184

7 years ago[Patch 2/2 PR78561] Recalculate constant pool size before emitting it
James Greenhalgh [Fri, 2 Dec 2016 14:31:10 +0000 (14:31 +0000)]
[Patch 2/2 PR78561] Recalculate constant pool size before emitting it

gcc/

PR rtl-optimization/78561
* varasm.c (recompute_pool_offsets): New.
(output_constant_pool): Call it.

gcc/testsuite/

PR rtl-optimization/78561
* gcc.target/aarch64/pr78561.c: New.

From-SVN: r243183

7 years ago[Patch 1/2 PR78561] Rename get_pool_size to get_pool_size_upper_bound
James Greenhalgh [Fri, 2 Dec 2016 14:29:35 +0000 (14:29 +0000)]
[Patch 1/2 PR78561] Rename get_pool_size to get_pool_size_upper_bound

gcc/

PR rtl-optimization/78561
* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p) Rename
get_pool_size to get_pool_size_upper_bound.
(rs6000_stack_info): Likewise.
(rs6000_emit_prologue): Likewise.
(rs6000_elf_declare_function_name): Likewise.
(rs6000_set_up_by_prologue): Likewise.
(rs6000_can_eliminate): Likewise, reformat spaces to tabs.
* output.h (get_pool_size): Rename to...
(get_pool_size_upper_bound): ...This.
* varasm.c (get_pool_size): Rename to...
(get_pool_size_upper_bound): ...This.

From-SVN: r243182

7 years ago[RTEMS] Use spin lock for pool management
Sebastian Huber [Fri, 2 Dec 2016 14:13:12 +0000 (14:13 +0000)]
[RTEMS] Use spin lock for pool management

libgomp/

* libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
pthread_spinlock_t instead of gomp_mutex_t lock.
(gomp_get_thread_pool): Likewise.
(gomp_release_thread_pool): Likewise.
* libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
Likewise.

From-SVN: r243181

7 years agomatch.pd: Add new pattern: (cond (cmp (convert?
Bin Cheng [Fri, 2 Dec 2016 14:13:11 +0000 (14:13 +0000)]
match.pd: Add new pattern: (cond (cmp (convert?

* match.pd: Add new pattern:
(cond (cmp (convert? x) c1) (op x c2) c3) -> (op (minmax x c1) c2).
gcc/testsuite
* gcc.dg/fold-bopcond-1.c: New test.
* gcc.dg/fold-bopcond-2.c: New test.

From-SVN: r243180

7 years ago[RTEMS] Fix libgomp for nthreads == 1
Sebastian Huber [Fri, 2 Dec 2016 14:10:33 +0000 (14:10 +0000)]
[RTEMS] Fix libgomp for nthreads == 1

libgomp/

        * config/rtems/pool.h (gomp_get_thread_pool): Return proper
        thread pool in case nthreads == 1.

From-SVN: r243179

7 years agocall.c (add_function_candidate): Also exclude inherited ctors that take a type refere...
Jason Merrill [Fri, 2 Dec 2016 13:58:32 +0000 (08:58 -0500)]
call.c (add_function_candidate): Also exclude inherited ctors that take a type reference-related to the derived...

* call.c (add_function_candidate): Also exclude inherited ctors
that take a type reference-related to the derived class.

From-SVN: r243178

7 years agodiagnostic.c (diagnostic_report_diagnostic): Remove extraneous braces.
Nathan Sidwell [Fri, 2 Dec 2016 13:14:01 +0000 (13:14 +0000)]
diagnostic.c (diagnostic_report_diagnostic): Remove extraneous braces.

* diagnostic.c (diagnostic_report_diagnostic): Remove extraneous
braces.

From-SVN: r243177

7 years agoS/390: Fix setmem-long test.
Dominik Vogt [Fri, 2 Dec 2016 12:32:16 +0000 (12:32 +0000)]
S/390: Fix setmem-long test.

Adding a " in the scan-assembler pattern is necessary because of a
recent change in print-rtl.c.

gcc/testsuite/ChangeLog:

2016-12-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/md/setmem_long-1.c: Fix test.

From-SVN: r243176

7 years agore PR middle-end/78328 (wrong wording for unbounded alloc case in -Walloca-larger...
Aldy Hernandez [Fri, 2 Dec 2016 12:20:42 +0000 (12:20 +0000)]
re PR middle-end/78328 (wrong wording for unbounded alloc case in -Walloca-larger-than note)

PR middle-end/78328
* gimple-ssa-warn-alloca.c (alloca_call_type): Handle
VR_ANTI_RANGE.

From-SVN: r243174

7 years agoS/390: Fix RTL sharing when generating reg note.
Andreas Krebbel [Fri, 2 Dec 2016 11:52:58 +0000 (11:52 +0000)]
S/390: Fix RTL sharing when generating reg note.

gcc/ChangeLog:

2016-12-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.c (s390_save_gprs_to_fprs): Fix RTL sharing
problem.

From-SVN: r243173

7 years agoavr-arch.h (avr_mcu_t): Remove field.
Georg-Johann Lay [Fri, 2 Dec 2016 09:12:22 +0000 (09:12 +0000)]
avr-arch.h (avr_mcu_t): Remove field.

* config/avr/avr-arch.h (avr_mcu_t) [n_flash]: Remove field.
* config/avr/avr-devices.c (AVR_MCU): Remove N_FLASH macro argument.
* config/avr/avr-mcus.def (AVR_MCU): Remove initializer for n_flash.
* config/avr/avr.c (avr_set_core_architecture) [avr_n_flash]: Use
avr_mcu_types.flash_size to compute default value.
* config/avr/gen-avr-mmcu-specs.c (print_mcu) [cc1_n_flash]: Use
mcu->flash_size to compute value for spec.

From-SVN: r243171

7 years agoinvoke.texi (AVR Options): Point to absdata.
Georg-Johann Lay [Fri, 2 Dec 2016 09:05:56 +0000 (09:05 +0000)]
invoke.texi (AVR Options): Point to absdata.

* doc/invoke.texi (AVR Options) [-mabsdata]: Point to absdata.
* doc/extend.texi (AVR Variable Attributes) [progmem]: Hint
about linker description to avoid progmem altogether.
[absdata]: Point to -mabsdata option.

From-SVN: r243170

7 years agore PR rtl-optimization/78547 (ICE: in loc_cmp, at var-tracking.c:3417 with -Os -g...
Jakub Jelinek [Fri, 2 Dec 2016 08:44:42 +0000 (09:44 +0100)]
re PR rtl-optimization/78547 (ICE: in loc_cmp, at var-tracking.c:3417 with -Os -g -mstringop-strategy=libcall -freorder-blocks-algorithm=simple)

PR rtl-optimization/78547
* emit-rtl.c (unshare_all_rtl): Make sure DECL_RTL and
DECL_INCOMING_RTL is not shared.
* config/i386/i386.c (convert_scalars_to_vectors): If any
insns have been converted, adjust all parameter's DEC_RTL and
DECL_INCOMING_RTL back from V1TImode to TImode if the parameters have
TImode.

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

From-SVN: r243165

7 years agore PR rtl-optimization/78575 (ICE: in trunc_int_for_mode, at explow.c:55 with -O2 -g)
Jakub Jelinek [Fri, 2 Dec 2016 08:42:12 +0000 (09:42 +0100)]
re PR rtl-optimization/78575 (ICE: in trunc_int_for_mode, at explow.c:55 with -O2 -g)

PR rtl-optimization/78575
* config/i386/i386.c (timode_scalar_chain::fix_debug_reg_uses): Use
DF infrastructure to wrap all V1TImode reg uses into TImode subreg
if not already wrapped in a subreg.  Make sure df_insn_rescan does not
affect further iterations.

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

From-SVN: r243164

7 years agoFix runtime error: left shift of negative value (PR
Martin Liska [Fri, 2 Dec 2016 08:36:01 +0000 (09:36 +0100)]
Fix runtime error: left shift of negative value (PR

PR ipa/78555
* sreal.c (sreal::to_int): Make absolute value before shifting.
(sreal::operator/): Likewise.
(sreal_verify_negative_division): New test.
(void sreal_c_tests): Call the new test.
* sreal.h (sreal::normalize_up): Use new SREAL_ABS and
SREAL_SIGN macros.
(sreal::normalize_down): Likewise.

From-SVN: r243163

7 years agoDo not simplify "(and (reg) (const bit)" to if_then_else.
Dominik Vogt [Fri, 2 Dec 2016 08:32:40 +0000 (08:32 +0000)]
Do not simplify "(and (reg) (const bit)" to if_then_else.

combine_simplify_rtx() tries to replace rtx expressions with just two
possible values with an experession that uses if_then_else:

  (if_then_else (condition) (value1) (value2))

If the original expression is e.g.

  (and (reg) (const_int 2))

where the constant is the mask for a single bit, the replacement results
in a more complex expression than before:

  (if_then_else (ne (zero_extract (reg) (1) (31))) (2) (0))

Similar replacements are done for

  (signextend (and ...))
  (zeroextend (and ...))

Suppress the replacement this special case in if_then_else_cond().

gcc/ChangeLog:

2016-12-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* combine.c (combine_simplify_rtx):  Suppress replacement of
"(and (reg) (const_int bit))" with "if_then_else".

From-SVN: r243162

7 years agoS/390: Fix litpool-r3-1.c.
Dominik Vogt [Fri, 2 Dec 2016 08:31:09 +0000 (08:31 +0000)]
S/390: Fix litpool-r3-1.c.

gcc/testsuite/ChangeLog:

2016-12-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gcc.target/s390/litpool-r3-1.c: Fix label number test.

From-SVN: r243161

7 years agoPR target/77822: S390: Validate argument range of {zero,sign}_extract.
Dominik Vogt [Fri, 2 Dec 2016 08:30:16 +0000 (08:30 +0000)]
PR target/77822: S390: Validate argument range of {zero,sign}_extract.

With some undefined code, combine generates patterns where the arguments to
*_extract are out of range, e.b. a negative bit position.  If the s390 backend
accepts these, they lead to not just undefined behaviour but invalid assembly
instructions (argument out of the allowed range).  So this patch makes sure
that the rtl expressions with out of range arguments are rejected.

gcc/ChangeLog:

2016-12-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>

PR target/77822
* config/s390/s390.md ("extzv")
("*extzv<mode><clobbercc_or_nocc>")
("*extzvdi<clobbercc_or_nocc>_lshiftrt")
("*<risbg_n>_ior_and_sr_ze")
("*extract1bitdi<clobbercc_or_nocc>")
("*insv<mode><clobbercc_or_nocc>", "*insv_rnsbg_noshift")
("*insv_rnsbg_srl", "*insv<mode>_mem_reg")
("*insvdi_mem_reghigh", "*insvdi_reg_imm"): Use EXTRACT_ARGS_IN_RANGE
to validate the arguments of zero_extract and sign_extract.

gcc/testsuite/ChangeLog:

2016-12-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>

PR target/77822
* gcc.target/s390/s390.exp: Support .C tests.
* gcc.target/s390/pr77822-2.c: New test.
* gcc.target/s390/pr77822-1.C: New test.

From-SVN: r243160