gcc.git
10 years agore PR c++/63455 (decltype of statement expression internal compiler error: in cp_par...
Jason Merrill [Wed, 15 Oct 2014 14:12:24 +0000 (10:12 -0400)]
re PR c++/63455 (decltype of statement expression  internal compiler error: in cp_parser_abort_tentative_parse, at cp/parser.c:25062)

PR c++/63455
c-family/
* c-common.h (CPP_PREPARSED_EXPR): New.
(N_CP_TTYPES): Adjust.
cp/
* parser.c (struct saved_token_sentinel): New.
(cp_parser_statement): Use it.
(cp_parser_start_tentative_firewall): New.
(cp_parser_end_tentative_firewall): New.
(cp_parser_lambda_expression): Use them.
(cp_parser_statement_expr): New.
(cp_parser_primary_expression): Use it.

From-SVN: r216260

10 years agocomplex (complex::real, [...]): Add const.
Jonathan Wakely [Wed, 15 Oct 2014 13:20:12 +0000 (14:20 +0100)]
complex (complex::real, [...]): Add const.

* include/std/complex (complex::real, complex::imag): Add const.
* testsuite/26_numerics/complex/value_operations/constexpr2.cc: New.

From-SVN: r216258

10 years agolimits: Remove stray semicolon.
Paolo Carlini [Wed, 15 Oct 2014 12:03:20 +0000 (12:03 +0000)]
limits: Remove stray semicolon.

2014-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/limits: Remove stray semicolon.

2014-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/20_util/add_const/requirements/alias_decl.cc: Prefer
-std=gnu++14.
* testsuite/20_util/add_cv/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/add_lvalue_reference/requirements/alias_decl.cc:
Likewise.
* testsuite/20_util/add_pointer/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/add_rvalue_reference/requirements/alias_decl.cc:
Likewise.
* testsuite/20_util/add_volatile/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
Likewise.
* testsuite/20_util/aligned_union/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/common_type/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/conditional/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/decay/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/duration/literals/61166.cc: Likewise.
* testsuite/20_util/duration/literals/ns_detail.cc: Likewise.
* testsuite/20_util/duration/literals/range.cc: Likewise.
* testsuite/20_util/duration/literals/types.cc: Likewise.
* testsuite/20_util/duration/literals/values.cc: Likewise.
* testsuite/20_util/enable_if/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/exchange/1.cc: Likewise.
* testsuite/20_util/function_objects/comparisons_void.cc: Likewise.
* testsuite/20_util/integer_sequence/intseq.cc: Likewise.
* testsuite/20_util/integer_sequence/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/integral_constant/call_operator.cc: Likewise.
* testsuite/20_util/make_signed/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: Likewise.
* testsuite/20_util/pair/astuple/get_by_type.cc: Likewise.
* testsuite/20_util/pair/astuple/get_by_type_neg.cc: Likewise.
* testsuite/20_util/pair/astuple/get_neg.cc: Likewise.
* testsuite/20_util/remove_all_extents/requirements/alias_decl.cc:
Likewise.
* testsuite/20_util/remove_const/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/remove_cv/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/remove_extent/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/remove_pointer/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/remove_reference/requirements/alias_decl.cc:
Likewise.
* testsuite/20_util/remove_volatile/requirements/alias_decl.cc:
Likewise.
* testsuite/20_util/result_of/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc:
Likewise.
* testsuite/20_util/tuple/element_access/get2_by_type.cc: Likewise.
* testsuite/20_util/tuple/element_access/get_by_type.cc: Likewise.
* testsuite/20_util/underlying_type/requirements/alias_decl.cc:
Likewise.
* testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
* testsuite/20_util/unique_ptr/creation/array_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
* testsuite/21_strings/basic_string/literals/types.cc: Likewise.
* testsuite/21_strings/basic_string/literals/values.cc: Likewise.
* testsuite/25_algorithms/equal/2.cc: Likewise.
* testsuite/25_algorithms/equal/check_type2.cc: Likewise.
* testsuite/25_algorithms/is_permutation/2.cc: Likewise.
* testsuite/25_algorithms/is_permutation/check_type2.cc: Likewise.
* testsuite/25_algorithms/is_permutation/vectorbool.cc: Likewise.
* testsuite/25_algorithms/mismatch/2.cc: Likewise.
* testsuite/25_algorithms/mismatch/check_type2.cc: Likewise.
* testsuite/26_numerics/complex/literals/values.cc: Likewise.
* testsuite/27_io/manipulators/standard/char/quoted.cc: Likewise.
* testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
* testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
* testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
* testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
* testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
* testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
* testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
* testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
* testsuite/30_threads/shared_lock/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/30_threads/shared_lock/requirements/typedefs.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/requirements/
standard_layout.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
* testsuite/experimental/optional/assignment/1.cc: Likewise.
* testsuite/experimental/optional/assignment/2.cc: Likewise.
* testsuite/experimental/optional/assignment/3.cc: Likewise.
* testsuite/experimental/optional/assignment/4.cc: Likewise.
* testsuite/experimental/optional/assignment/5.cc: Likewise.
* testsuite/experimental/optional/assignment/6.cc: Likewise.
* testsuite/experimental/optional/cons/copy.cc: Likewise.
* testsuite/experimental/optional/cons/default.cc: Likewise.
* testsuite/experimental/optional/cons/move.cc: Likewise.
* testsuite/experimental/optional/cons/value.cc: Likewise.
* testsuite/experimental/optional/constexpr/cons/default.cc: Likewise.
* testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
* testsuite/experimental/optional/constexpr/in_place.cc: Likewise.
* testsuite/experimental/optional/constexpr/make_optional.cc: Likewise.
* testsuite/experimental/optional/constexpr/nullopt.cc: Likewise.
* testsuite/experimental/optional/constexpr/observers/1.cc: Likewise.
* testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
* testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
* testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
* testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
* testsuite/experimental/optional/constexpr/relops/1.cc: Likewise.
* testsuite/experimental/optional/constexpr/relops/2.cc: Likewise.
* testsuite/experimental/optional/constexpr/relops/3.cc: Likewise.
* testsuite/experimental/optional/constexpr/relops/4.cc: Likewise.
* testsuite/experimental/optional/constexpr/relops/5.cc: Likewise.
* testsuite/experimental/optional/constexpr/relops/6.cc: Likewise.
* testsuite/experimental/optional/in_place.cc: Likewise.
* testsuite/experimental/optional/make_optional.cc: Likewise.
* testsuite/experimental/optional/nullopt.cc: Likewise.
* testsuite/experimental/optional/observers/1.cc: Likewise.
* testsuite/experimental/optional/observers/2.cc: Likewise.
* testsuite/experimental/optional/observers/3.cc: Likewise.
* testsuite/experimental/optional/observers/4.cc: Likewise.
* testsuite/experimental/optional/observers/5.cc: Likewise.
* testsuite/experimental/optional/relops/1.cc: Likewise.
* testsuite/experimental/optional/relops/2.cc: Likewise.
* testsuite/experimental/optional/relops/3.cc: Likewise.
* testsuite/experimental/optional/relops/4.cc: Likewise.
* testsuite/experimental/optional/relops/5.cc: Likewise.
* testsuite/experimental/optional/relops/6.cc: Likewise.
* testsuite/experimental/optional/requirements.cc: Likewise.
* testsuite/experimental/optional/swap/1.cc: Likewise.
* testsuite/experimental/string_view/capacity/1.cc: Likewise.
* testsuite/experimental/string_view/cons/char/1.cc: Likewise.
* testsuite/experimental/string_view/cons/char/2.cc: Likewise.
* testsuite/experimental/string_view/cons/char/3.cc: Likewise.
* testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
* testsuite/experimental/string_view/cons/wchar_t/2.cc: Likewise.
* testsuite/experimental/string_view/cons/wchar_t/3.cc: Likewise.
* testsuite/experimental/string_view/element_access/char/1.cc: Likewise.
* testsuite/experimental/string_view/element_access/char/2.cc: Likewise.
* testsuite/experimental/string_view/element_access/char/empty.cc:
Likewise.
* testsuite/experimental/string_view/element_access/char/
front_back.cc: Likewise.
* testsuite/experimental/string_view/element_access/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/element_access/wchar_t/2.cc:
Likewise.
* testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
Likewise.
* testsuite/experimental/string_view/element_access/wchar_t/
front_back.cc: Likewise.
* testsuite/experimental/string_view/include.cc: Likewise.
* testsuite/experimental/string_view/inserters/char/1.cc: Likewise.
* testsuite/experimental/string_view/inserters/char/2.cc: Likewise.
* testsuite/experimental/string_view/inserters/char/3.cc: Likewise.
* testsuite/experimental/string_view/inserters/pod/10081-out.cc:
Likewise.
* testsuite/experimental/string_view/inserters/wchar_t/1.cc: Likewise.
* testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise.
* testsuite/experimental/string_view/inserters/wchar_t/3.cc: Likewise.
* testsuite/experimental/string_view/literals/types.cc: Likewise.
* testsuite/experimental/string_view/literals/values.cc: Likewise.
* testsuite/experimental/string_view/modifiers/remove_prefix/char/
1.cc: Likewise.
* testsuite/experimental/string_view/modifiers/remove_prefix/
wchar_t/1.cc: Likewise.
* testsuite/experimental/string_view/modifiers/remove_suffix/
char/1.cc: Likewise.
* testsuite/experimental/string_view/modifiers/remove_suffix/
wchar_t/1.cc: Likewise.
* testsuite/experimental/string_view/operations/compare/char/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/compare/char/13650.cc:
Likewise.
* testsuite/experimental/string_view/operations/compare/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/compare/wchar_t/
13650.cc: Likewise.
* testsuite/experimental/string_view/operations/copy/char/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/data/char/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/find/char/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/find/char/2.cc:
Likewise.
* testsuite/experimental/string_view/operations/find/char/3.cc:
Likewise.
* testsuite/experimental/string_view/operations/find/char/4.cc:
Likewise.
* testsuite/experimental/string_view/operations/find/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/find/wchar_t/2.cc:
Likewise.
* testsuite/experimental/string_view/operations/find/wchar_t/3.cc:
Likewise.
* testsuite/experimental/string_view/operations/find/wchar_t/4.cc:
Likewise.
* testsuite/experimental/string_view/operations/rfind/char/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/rfind/char/2.cc:
Likewise.
* testsuite/experimental/string_view/operations/rfind/char/3.cc:
Likewise.
* testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc:
Likewise.
* testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc:
Likewise.
* testsuite/experimental/string_view/operations/substr/char/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/to_string/1.cc:
Likewise.
* testsuite/experimental/string_view/operators/char/2.cc: Likewise.
* testsuite/experimental/string_view/operators/wchar_t/2.cc: Likewise.
* testsuite/experimental/string_view/range_access/char/1.cc: Likewise.
* testsuite/experimental/string_view/range_access/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/char/1.cc: Likewise.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/char16_t/1.cc: Likewise.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/char32_t/1.cc: Likewise.
* testsuite/experimental/string_view/requirements/
explicit_instantiation/wchar_t/1.cc: Likewise.
* testsuite/experimental/string_view/requirements/typedefs.cc: Likewise.
* testsuite/experimental/string_view/types/1.cc: Likewise.

From-SVN: r216257

10 years agoAVX-512. 56/n. Add plus/minus/abs/neg/andnot insn.
Alexander Ivchenko [Wed, 15 Oct 2014 11:04:03 +0000 (11:04 +0000)]
AVX-512. 56/n. Add plus/minus/abs/neg/andnot insn.

gcc/
* config/i386/sse.md (define_mode_iterator VI_AVX2): Extend
to support AVX-512BW.
(define_mode_iterator VI124_AVX2_48_AVX512F): Remove.
(define_expand "<plusminus_insn><mode>3"): Remove masking support.
(define_insn "*<plusminus_insn><mode>3"): Ditto.
(define_expand "<plusminus_insn><VI48_AVX512VL:mode>3_mask"): New.
(define_expand "<plusminus_insn><VI12_AVX512VL:mode>3_mask"): Ditto.
(define_insn "*<plusminus_insn><VI48_AVX512VL:mode>3_mask"): Ditto.
(define_insn "*<plusminus_insn><VI12_AVX512VL:mode>3_mask"): Ditto.
(define_expand "<sse2_avx2>_andnot<mode>3"): Remove masking support.
(define_insn "*andnot<mode>3"): Ditto.
(define_expand "<sse2_avx2>_andnot<VI48_AVX512VL:mode>3_mask"): New.
(define_expand "<sse2_avx2>_andnot<VI12_AVX512VL:mode>3_mask"): Ditto.
(define_insn "*andnot<VI48_AVX512VL:mode>3<mask_name>"): Ditto.
(define_insn "*andnot<VI12_AVX512VL:mode>3<mask_name>"): Ditto.
(define_insn "*abs<mode>2"): Remove masking support.
(define_insn "abs<VI48_AVX512VL:mode>2_mask"): New.
(define_insn "abs<VI12_AVX512VL:mode>2_mask"): Ditto.
(define_expand "abs<mode>2"): Use VI_AVX2 mode iterator.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216255

10 years agoAVX-512. 52.1/n. Add vec2mask and mask2vec insn.
Alexander Ivchenko [Wed, 15 Oct 2014 11:02:02 +0000 (11:02 +0000)]
AVX-512. 52.1/n. Add vec2mask and mask2vec insn.

gcc/
* config/i386/predicates.md (define_predicate "constm1_operand"): New.
* config/i386/sse.md
(define_c_enum "unspec"): Add UNSPEC_CVTINT2MASK.
(define_insn "<avx512>_cvt<ssemodesuffix>2mask<VI12_AVX512VL:mode>"): New.
(define_insn "<avx512>_cvt<ssemodesuffix>2mask<VI48_AVX512VL:mode>"): Ditto.
(define_expand "<avx512>_cvtmask2<ssemodesuffix><VI12_AVX512VL:mode>"): Ditto.
(define_insn "*<avx512>_cvtmask2<ssemodesuffix><VI12_AVX512VL:mode>"): Ditto.
(define_expand "<avx512>_cvtmask2<ssemodesuffix><VI48_AVX512VL:mode>"): Ditto.
(define_insn "*<avx512>_cvtmask2<ssemodesuffix><VI48_AVX512VL:mode>"): Ditto.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216254

10 years ago[AArch64] Remove unused variable and marco
Renlin Li [Wed, 15 Oct 2014 10:40:40 +0000 (10:40 +0000)]
[AArch64] Remove unused variable and marco

gcc/ChangeLog

  2014-10-15  Renlin Li  <renlin.Li@arm.com>

     * config/aarch64/aarch64.h (ARM_DEFAULT_PCS, arm_pcs_variant): Delete.

From-SVN: r216253

10 years agotree-ssa-reassoc.c (optimize_range_tests_diff): Perform MINUS_EXPR in unsigned type...
Jakub Jelinek [Wed, 15 Oct 2014 10:33:02 +0000 (12:33 +0200)]
tree-ssa-reassoc.c (optimize_range_tests_diff): Perform MINUS_EXPR in unsigned type to avoid undefined behavior.

* tree-ssa-reassoc.c (optimize_range_tests_diff): Perform
MINUS_EXPR in unsigned type to avoid undefined behavior.

From-SVN: r216252

10 years ago* stor-layout.c (self_referential_size): Do not promote arguments.
Eric Botcazou [Wed, 15 Oct 2014 10:24:36 +0000 (10:24 +0000)]
* stor-layout.c (self_referential_size): Do not promote arguments.

From-SVN: r216249

10 years agoinvoke.texi: Update to reflect that GNU11 is the default mode for C.
Marek Polacek [Wed, 15 Oct 2014 10:08:00 +0000 (10:08 +0000)]
invoke.texi: Update to reflect that GNU11 is the default mode for C.

* doc/invoke.texi: Update to reflect that GNU11 is the default
mode for C.
* c-common.h (c_language_kind): Update comment.
c-family/
* c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.

From-SVN: r216247

10 years agohash-table.c: Include bconfig.h if building for the host.
Richard Biener [Wed, 15 Oct 2014 09:55:19 +0000 (09:55 +0000)]
hash-table.c: Include bconfig.h if building for the host.

2014-10-15  Richard Biener  <rguenther@suse.de>

* hash-table.c: Include bconfig.h if building for the host.
* hash-table.h: Do not include ggc.h on the host but just declare
a few ggc allocation templates.

From-SVN: r216246

10 years agoalias_decl.cc: New.
Paolo Carlini [Wed, 15 Oct 2014 09:26:05 +0000 (09:26 +0000)]
alias_decl.cc: New.

2014-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/20_util/add_const/requirements/alias_decl.cc: New.
* testsuite/20_util/add_cv/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/add_pointer/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/add_volatile/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
Likewise.
* testsuite/20_util/aligned_union/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/remove_all_extents/requirements/alias_decl.cc:
Likewise.
* testsuite/20_util/remove_const/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/remove_cv/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/remove_extent/requirements/alias_decl.cc: Likewise.
* testsuite/20_util/remove_pointer/requirements/alias_decl.cc:
Likewise.
* testsuite/20_util/remove_volatile/requirements/alias_decl.cc:
Likewise.

From-SVN: r216245

10 years agoAs discussed: https://gcc.gnu.org/ml/gcc-patches/2014-10/msg00420.html
Joern Rennecke [Wed, 15 Oct 2014 09:04:12 +0000 (09:04 +0000)]
As discussed: https://gcc.gnu.org/ml/gcc-patches/2014-10/msg00420.html

2014-10-15  Joern Rennecke  <joern.rennecke@embecosm.com>
            Jeff Law  <law@redhat.com>

        * caller-save.c (replace_reg_with_saved_mem): If saved_mode covers
        multiple hard registers, use smaller mode derived from MODE.

Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r216243

10 years agolimits: Remove stray spaces after backslash.
Paolo Carlini [Wed, 15 Oct 2014 08:51:07 +0000 (08:51 +0000)]
limits: Remove stray spaces after backslash.

2014-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/limits: Remove stray spaces after backslash.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.

From-SVN: r216242

10 years agopr63419.C: Add -Wno-psabi.
Richard Biener [Wed, 15 Oct 2014 08:25:36 +0000 (08:25 +0000)]
pr63419.C: Add -Wno-psabi.

2014-10-15  Richard Biener  <rguenther@suse.de>

* g++.dg/torture/pr63419.C: Add -Wno-psabi.

From-SVN: r216241

10 years agoexplow.c (convert_memory_address_addr_space_1): Mark in_const as ATTRIBUTE_UNUSED.
Andreas Schwab [Wed, 15 Oct 2014 08:20:02 +0000 (08:20 +0000)]
explow.c (convert_memory_address_addr_space_1): Mark in_const as ATTRIBUTE_UNUSED.

* explow.c (convert_memory_address_addr_space_1): Mark in_const
as ATTRIBUTE_UNUSED.

From-SVN: r216240

10 years agoloop-unroll.c: (decide_unrolling_and_peeling): Rename to
Jan Hubicka [Wed, 15 Oct 2014 08:02:06 +0000 (10:02 +0200)]
loop-unroll.c: (decide_unrolling_and_peeling): Rename to

* loop-unroll.c: (decide_unrolling_and_peeling): Rename to
(decide_unrolling): ... this one.
(peel_loops_completely): Remove.
(decide_peel_simple): Remove.
(decide_peel_once_rolling): Remove.
(decide_peel_completely): Remove.
(peel_loop_simple): Remove.
(peel_loop_completely): Remove.
(unroll_and_peel_loops): Rename to ...
(unroll_loops): ... this one; handle only unrolling.
* cfgloop.h (lpt_dec): Remove LPT_PEEL_COMPLETELY and
LPT_PEEL_SIMPLE.
(UAP_PEEL): Remove.
(unroll_and_peel_loops): Remove.
(unroll_loops): New.
* passes.def: Replace
pass_rtl_unroll_and_peel_loops by pass_rtl_unroll_loops.
* loop-init.c (gate_rtl_unroll_and_peel_loops,
rtl_unroll_and_peel_loops): Rename to ...
(gate_rtl_unroll_loops, rtl_unroll_loops): ... these; update.
(pass_rtl_unroll_and_peel_loops): Rename to ...
(pass_rtl_unroll_loops): ... this one.
* tree-pass.h (make_pass_rtl_unroll_and_peel_loops): Remove.
(make_pass_rtl_unroll_loops): New.
* tree-ssa-loop-ivcanon.c: (estimated_peeled_sequence_size, try_peel_loop): New.
(canonicalize_loop_induction_variables): Update.

* gcc.dg/tree-prof/peel-1.c: Update.
* gcc.dg/tree-prof/unroll-1.c: Update.
* gcc.dg/gcc.dg/unroll_1.c: Update.
* gcc.dg/gcc.dg/unroll_2.c: Update.
* gcc.dg/gcc.dg/unroll_3.c: Update.
* gcc.dg/gcc.dg/unroll_4.c: Update.

From-SVN: r216238

10 years agotypedefs.cc: Rename to alias_decl.cc.
Paolo Carlini [Wed, 15 Oct 2014 07:49:06 +0000 (07:49 +0000)]
typedefs.cc: Rename to alias_decl.cc.

2014-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/20_util/add_lvalue_reference/requirements/typedefs.cc:
Rename to alias_decl.cc.
* testsuite/20_util/add_rvalue_reference/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/common_type/requirements/typedefs-3.cc: Likewise.
* testsuite/20_util/conditional/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/decay/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/enable_if/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-3.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc:
Likewise.
* testsuite/20_util/remove_reference/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/result_of/requirements/typedefs.cc: Likewise.
* testsuite/20_util/underlying_type/requirements/typedefs-3.cc:
Likewise.

From-SVN: r216237

10 years agoxtensa: use pre- and postincrement FP load/store when available
Max Filippov [Wed, 15 Oct 2014 04:20:03 +0000 (04:20 +0000)]
xtensa: use pre- and postincrement FP load/store when available

Earlier versions of xtensa FPU used to support preincrement FP load and
store instructions (lsiu/ssiu). Recent FPU supports postincrement FP
load and store instructions only (lsip/ssip). Use configuration macro to
decide which version is available.

2014-10-14  Max Filippov  <jcmvbkbc@gmail.com>

gcc/
    * config/xtensa/xtensa.h (TARGET_HARD_FLOAT_POSTINC): new macro.
    * config/xtensa/xtensa.md (*lsiu, *ssiu): add dependency on
    !TARGET_HARD_FLOAT_POSTINC.
    (*lsip, *ssip): new instructions.

From-SVN: r216234

10 years agoxtensa: drop unimplemented floating point operations
Max Filippov [Wed, 15 Oct 2014 04:17:30 +0000 (04:17 +0000)]
xtensa: drop unimplemented floating point operations

xtensa ISA never implemented FP division, reciprocal, square root and
inverse square root as single opcode. Remove patterns that can emit
them.

2014-10-09  Max Filippov  <jcmvbkbc@gmail.com>

gcc/
    * config/xtensa/xtensa.md (divsf3, *recipsf2, sqrtsf2, *rsqrtsf2):
    remove.

From-SVN: r216233

10 years agoMAINTAINERS: add myself to write-after-approval list.
Max Filippov [Wed, 15 Oct 2014 04:15:20 +0000 (04:15 +0000)]
MAINTAINERS: add myself to write-after-approval list.

2014-10-15  Max Filippov  <jcmvbkbc@gmail.com>

    * MAINTAINERS (write-after-approval): Add myself.

From-SVN: r216232

10 years agoexplow.c (convert_memory_address_addr_space): Rename to ...
Andrew Pinski [Wed, 15 Oct 2014 00:39:16 +0000 (00:39 +0000)]
explow.c (convert_memory_address_addr_space): Rename to ...

2014-10-14  Andrew Pinski  <apinski@cavium.com>

* explow.c (convert_memory_address_addr_space): Rename to ...
(convert_memory_address_addr_space_1): This.  Add in_const argument.
Inside a CONST RTL, permute the conversion and addition of constant
for zero and sign extended pointers.
(convert_memory_address_addr_space): New function.

From-SVN: r216230

10 years agorevert: re PR middle-end/49721 (convert_memory_address_addr_space may generate invali...
Andrew Pinski [Wed, 15 Oct 2014 00:38:03 +0000 (00:38 +0000)]
revert: re PR middle-end/49721 (convert_memory_address_addr_space may generate invalid new insns)

2014-10-14  Andrew Pinski  <apinski@cavium.com>

Revert:
2011-08-19  H.J. Lu  <hongjiu.lu@intel.com>

        PR middle-end/49721
        * explow.c (convert_memory_address_addr_space): Also permute the
        conversion and addition of constant for zero-extend.

From-SVN: r216229

10 years agoDaily bump.
GCC Administrator [Wed, 15 Oct 2014 00:16:19 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r216228

10 years agomsp430-modes.def (PSI): Add.
DJ Delorie [Tue, 14 Oct 2014 21:35:03 +0000 (17:35 -0400)]
msp430-modes.def (PSI): Add.

* config/msp430/msp430-modes.def (PSI): Add.

* config/msp430/msp430-protos.h (msp430_hard_regno_nregs_has_padding): New.
(msp430_hard_regno_nregs_with_padding): New.
* config/msp430/msp430.c (msp430_scalar_mode_supported_p): New.
(msp430_hard_regno_nregs_has_padding): New.
(msp430_hard_regno_nregs_with_padding): New.
(msp430_unwind_word_mode): Use PSImode instead of SImode.
(msp430_addr_space_legitimate_address_p): New.
(msp430_asm_integer): New.
(msp430_init_dwarf_reg_sizes_extra): New.
(msp430_print_operand): Use X suffix for PSImode even in small model.
* config/msp430/msp430.h (POINTER_SIZE): Use 20 bits, not 32.
(PTR_SIZE): ...but 4 bytes for EH.
(SIZE_TYPE): Use __int20.
(PTRDIFF_TYPE): Likewise.
(INCOMING_FRAME_SP_OFFSET): Adjust.
* config/msp430/msp430.md (movqi_topbyte): New.
(movpsi): Use fixed suffixes.
(movsipsi2): Enable for 430X, not large model.
(extendhipsi2): Likewise.
(zero_extendhisi2): Likewise.
(zero_extendhisipsi2): Likewise.
(extend_and_shift1_hipsi2): Likewise.
(extendpsisi2): Likewise.
(*bitbranch<mode>4_z): Fix suffix logic.

From-SVN: r216225

10 years agoFix sanitizer build on sparc.
David S. Miller [Tue, 14 Oct 2014 21:20:46 +0000 (21:20 +0000)]
Fix sanitizer build on sparc.

* sanitizer_common/sanitizer_platform_limits_linux.cc (time_t):
Define at __kernel_time_t, as needed for sparc.
(struct __old_kernel_stat): Don't check if __sparc__ is defined.
* libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
(__sanitizer): Define struct___old_kernel_stat_sz,
struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc.
(__sanitizer_ipc_perm): Adjust for sparc targets.
(__sanitizer_shmid_ds): Likewsie.
(__sanitizer_sigaction): Likewsie.
(IOC_SIZE): Likewsie.

From-SVN: r216224

10 years agore PR ada/62019 (gnat.dg/weak2.adb fails everywhere)
Eric Botcazou [Tue, 14 Oct 2014 21:04:05 +0000 (21:04 +0000)]
re PR ada/62019 (gnat.dg/weak2.adb fails everywhere)

PR ada/62019
* tree-eh.c (tree_could_trap) <FUNCTION_DECL>: Revamp and really
do not choke on null node.
<VAR_DECL>: Likewise.

From-SVN: r216223

10 years agoMore missed bits from the big __intN patch
DJ Delorie [Tue, 14 Oct 2014 20:53:29 +0000 (16:53 -0400)]
More missed bits from the big __intN patch

From-SVN: r216222

10 years agoMissed bit of previous commit.
DJ Delorie [Tue, 14 Oct 2014 20:01:39 +0000 (16:01 -0400)]
Missed bit of previous commit.

From-SVN: r216221

10 years agomachmode.h (int_n_data_t): New.
DJ Delorie [Tue, 14 Oct 2014 19:44:36 +0000 (15:44 -0400)]
machmode.h (int_n_data_t): New.

* machmode.h (int_n_data_t): New.
(int_n_enabled_p): New.
(int_n_data): New.
* tree.c (int_n_enabled_p): New.
(int_n_trees): New.
(make_or_reuse_type): Check for all __intN types, not just
__int128.
(build_common_tree_nodes): Likewise.  Also fill in integer_typs[]
entries.
* tree.h (int128_integer_type_node): Remove.
(int128_unsigned_type_node): Remove.
(int_n_trees_t): New.
(int_n_enabled_p): New.
(int_n_trees): New.
* toplev.c (standard_type_bitsize): New.
(do_compile): Check which __intN types are enabled for the current
run.
* builtin-types.def (BT_INT128): Remove.
(BT_UINT128): Remove.
* machmode.def: Add macro to create __int128 for all targets.
* stor-layout.c (mode_for_size): Support __intN types.
(smallest_mode_for_size): Likewise.
(initialize_sizetypes): Support __intN types.
* genmodes.c (struct mode_data): Add int_n field.
(blank_mode): Likewise.
(INT_N): New.
(make_int_n): New.
(emit_insn_modes_h): Count __intN entries and define
NUM_INT_N_ENTS.
(emit_mode_int_n): New.
(emit_insn_modes_c): Call it.
* gimple.c (gimple_signed_or_unsigned_type): Check for all __intN
types, not just __int128.
* tree-core.h (integer_type_kind): Remove __int128-specific
entries, reserve spots for __intN entries.

libstdc++-v3/
* src/c++11/limits.cc: Add support for __intN types.
* include/std/type_traits: Likewise.
* include/std/limits: Likewise.
* include/c_std/cstdlib: Likewise.
* include/bits/cpp_type_traits.h: Likewise.
* include/c_global/cstdlib: Likewise.

c-family/
* c-pretty-print.c (pp_c_integer_constant): Check for all __intN
types, not just __int128.
* c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
types, not just __int128.
(cpp_atomic_builtins): Round pointer sizes up.
(type_suffix): Use type precision, not specific types.
* c-common.c (c_common_reswords): Remove __int128 special case.
(c_common_type_for_size): Check for all __intN types, not just
__int128.
(c_common_type_for_mode): Likewise.
(c_common_signed_or_unsigned_type): Likewise.
(c_build_bitfield_integer_type): Likewise.
(c_common_nodes_and_builtins): Likewise.
(keyword_begins_type_specifier): Likewise.
* c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
__intN variants.

c/
* c-parser.c (c_parse_init): Add RID entries for each __intN.
(c_token_starts_typename): Check all __intN, not just __int128.
(c_token_starts_declspecs): Likewise.
(c_parser_declspecs): Likewise.
(c_parser_attribute_any_word): Likewise.
(c_parser_objc_selector): Likewise.
* c-tree.h (c_typespec_keyword): cts_int128 -> cts_int_n.
(struct c_declspecs): Add int_n_idx field to record *which* __intN
is specified.
* c-decl.c (declspecs_add_type): Check for all __intN, not just
__int128.
(finish_declspecs): Likewise.

testsuite/
* g++.dg/abi/mangle64.C: New.

cp/
* typeck.c (cp_common_type): Check for all __intN types, not just
__int128.
* decl.c (grokdeclarator): Likewise.
* rtti.c (emit_support_tinfos): Check for all __intN types, not just
__int128.
* parser.c (cp_lexer_next_token_is_decl_specifier_keyword): Check
for all __intN types, not just __int128.
(cp_parser_simple_type_specifier): Likewise.
* mangle.c (integer_type_codes): Remove int128-specific codes.
* cp-tree.h (cp_decl_specifier_seq): Add int_n_idx to store which
__intN was specified.
* lex.c (init_reswords): Reserve all __intN keywords.

lto/
* lto-lang.c (lto_build_c_type_nodes): Check intN types for
size-type as well.
(lto_init): Initialize all intN types, not just int128.

From-SVN: r216220

10 years agoira.c: Fix typo in comment.
Kito Cheng [Tue, 14 Oct 2014 19:13:33 +0000 (19:13 +0000)]
ira.c: Fix typo in comment.

2014-10-14  Kito Cheng  <kito@0xlab.org>

* ira.c: Fix typo in comment.
* ira.h: Ditto.
* ira-build.c: Ditto.
* ira-color.c: Ditto.
* ira-emit.c: Ditto.
* ira-int.h: Ditto.
* ira-lives.c: Ditto.

From-SVN: r216218

10 years agore PR rtl-optimization/63475 (Postreload CSE propagates aliased memory operand)
Uros Bizjak [Tue, 14 Oct 2014 18:40:59 +0000 (20:40 +0200)]
re PR rtl-optimization/63475 (Postreload CSE propagates aliased memory operand)

PR rtl-optimization/63475
* alias.c (true_dependence_1): Always use get_addr to extract
true address operands from x_addr and mem_addr.  Use extracted
address operands to check for references with alignment ANDs.
Use extracted address operands with find_base_term and
base_alias_check. For noncanonicalized operands call canon_rtx with
extracted address operand.
(write_dependence_1): Ditto.
(may_alias_p): Ditto.  Remove unused calls to canon_rtx.

From-SVN: r216217

10 years agoUse strtod instead of strtold in libiberty/d-demangle.c
Joel Brobecker [Tue, 14 Oct 2014 17:57:08 +0000 (17:57 +0000)]
Use strtod instead of strtold in libiberty/d-demangle.c

strtold is currently used to decode templates which have a floating-point
value encoded inside; but this routine is not available on some systems,
such as Solaris 2.9 for instance.

This patch fixes the issue by replace the use of strtold by strtod.
It reduces a bit the precision, but it should still remain acceptable
in most cases.

libiberty/ChangeLog:

        * d-demangle.c: Replace strtold with strtod in global comment.
        (strtold): Remove declaration.
        (strtod): New declaration.
        (dlang_parse_real): Declare value as double instead of long
        double.  Replace call to strtold by call to strtod.
        Update format in call to snprintf.

From-SVN: r216216

10 years agointro.xml: Update.
Jonathan Wakely [Tue, 14 Oct 2014 17:24:38 +0000 (18:24 +0100)]
intro.xml: Update.

* doc/xml/manual/intro.xml: Update.
* doc/xml/manual/status_cxx2011.xml: Update.
* doc/html/manual/*: Regenerate.

From-SVN: r216215

10 years ago1.cc: Add dg-require-stdint.
Jonathan Wakely [Tue, 14 Oct 2014 17:14:07 +0000 (18:14 +0100)]
1.cc: Add dg-require-stdint.

* testsuite/20_util/align/1.cc: Add dg-require-stdint.
* testsuite/20_util/align/2.cc: Likewise.

From-SVN: r216214

10 years agore PR libstdc++/54354 (TODO extended iomanip manipulators std::get_time and std:...
Rüdiger Sonderfeld [Tue, 14 Oct 2014 17:01:25 +0000 (17:01 +0000)]
re PR libstdc++/54354 (TODO extended iomanip manipulators std::get_time and std::put_time (C++11, section 27.7.5))

2014-10-14  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>

PR libstdc++/54354
* include/std/iomanip (_Put_time): New struct.
(put_time): New manipulator.
(operator<<): New overloaded function.
* testsuite/27_io/manipulators/extended/put_time/char/1.cc: New.
* testsuite/27_io/manipulators/extended/put_time/char/2.cc: New.
* testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: New.
* testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: New.

From-SVN: r216211

10 years agore PR libstdc++/57440 (Memory usage with future and std containers)
Kai Tietz [Tue, 14 Oct 2014 16:58:37 +0000 (18:58 +0200)]
re PR libstdc++/57440 (Memory usage with future and std containers)

2014-10-14  Kai Tietz  <ktietz@redhat.com>

        PR libstdc++/57440
        * config/os/mingw32/os_defines.h (_GTHREAD_USE_MUTEX_INIT_FUNC):
        Define to avoid leak.
        * config/os/mingw32-w64/os_defines.h: Likewise.

From-SVN: r216210

10 years agore PR target/63534 (Bootstrap failure on x86_64/i686-linux)
Evgeny Stupachenko [Tue, 14 Oct 2014 16:26:57 +0000 (16:26 +0000)]
re PR target/63534 (Bootstrap failure on x86_64/i686-linux)

PR target/63534
gcc/
* config/i386/i386.c (ix86_expand_split_stack_prologue): Make
__morestack local.

From-SVN: r216208

10 years agoMakefile.am (DEFS): Add -DPIC.
Jakub Jelinek [Tue, 14 Oct 2014 15:56:52 +0000 (17:56 +0200)]
Makefile.am (DEFS): Add -DPIC.

* ubsan/Makefile.am (DEFS): Add -DPIC.
* ubsan/Makefile.in: Regenerated.

From-SVN: r216206

10 years agoline-map.h (linemap_location_from_macro_expansion_p): const struct line_maps * argument.
Manuel López-Ibáñez [Tue, 14 Oct 2014 14:45:36 +0000 (14:45 +0000)]
line-map.h (linemap_location_from_macro_expansion_p): const struct line_maps * argument.

libcpp/ChangeLog:

2014-10-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* include/line-map.h (linemap_location_from_macro_expansion_p):
const struct line_maps * argument.
(linemap_position_for_line_and_column): const struct line_map *
argument.
* line-map.c (linemap_add_macro_token): Use correct argument name
in comment.
(linemap_position_for_line_and_column): const struct line_map *
argument.
(linemap_macro_map_loc_to_def_point): Fix comment. Make static.
(linemap_location_from_macro_expansion_p): const struct line_maps *
argument.
(linemap_resolve_location): Fix argument names in comment.

From-SVN: r216205

10 years agotypeck.c (cp_build_unary_op): Accept float vectors.
Marc Glisse [Tue, 14 Oct 2014 13:40:36 +0000 (15:40 +0200)]
typeck.c (cp_build_unary_op): Accept float vectors.

2014-10-14  Marc Glisse  <marc.glisse@inria.fr>

gcc/cp/
* typeck.c (cp_build_unary_op) [TRUTH_NOT_EXPR]: Accept float vectors.
gcc/testsuite/
* g++.dg/ext/vector9.C: Test ! with float vectors.

From-SVN: r216201

10 years agoAVX-512. 77/n. Use blend for cond-set V32HI and V64QI.
Alexander Ivchenko [Tue, 14 Oct 2014 08:56:56 +0000 (08:56 +0000)]
AVX-512. 77/n. Use blend for cond-set V32HI and V64QI.

gcc/
* config/i386/i386.c
(ix86_expand_sse_movcc): Handle V64QI and V32HI mode.
(ix86_expand_int_vcond): Ditto.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216193

10 years agoAVX-512. 74/n. Add byte/word max/mix reduction.
Alexander Ivchenko [Tue, 14 Oct 2014 08:52:11 +0000 (08:52 +0000)]
AVX-512. 74/n. Add byte/word max/mix reduction.

gcc/
* config/i386/i386.c
(emit_reduc_half): Handle V64QI and V32HI mode.
* config/i386/sse.md
(define_mode_iterator VI_AVX512BW): New.
(define_expand "reduc_<code>_<mode>"): Use VI512_48F_12BW.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216192

10 years agoAVX-512. 73/n. Extend reduc min/max autogen.
Alexander Ivchenko [Tue, 14 Oct 2014 08:50:43 +0000 (08:50 +0000)]
AVX-512. 73/n. Extend reduc min/max autogen.

gcc/
        * config/i386/sse.md
        (define_mode_iterator REDUC_SMINMAX_MODE): Add V64QI and V32HI modes.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216191

10 years agoAVX-512. 72/n. Extend VI itterator.
Alexander Ivchenko [Tue, 14 Oct 2014 08:49:23 +0000 (08:49 +0000)]
AVX-512. 72/n.  Extend VI itterator.

gcc/
* config/i386/i386.c
(ix86_expand_vector_logical_operator): Handle V16SF and V8DF modes.
* config/i386/sse.md
(define_mode_iterator VI): Add V64QI and V32HI modes.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216190

10 years agoAVX-512. 71/n. Remove redudant iterator attribute.
Alexander Ivchenko [Tue, 14 Oct 2014 08:47:55 +0000 (08:47 +0000)]
AVX-512. 71/n. Remove redudant iterator attribute.

gcc/
* config/i386/sse.md (define_mode_attr avx2_avx512f): Remove.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216189

10 years agotypedefs.cc: Rename to alias_decl.cc.
Paolo Carlini [Tue, 14 Oct 2014 08:45:38 +0000 (08:45 +0000)]
typedefs.cc: Rename to alias_decl.cc.

2014-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/20_util/add_lvalue_reference/requirements/typedefs.cc:
Rename to alias_decl.cc.
* testsuite/20_util/add_rvalue_reference/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/common_type/requirements/typedefs-3.cc: Likewise.
* testsuite/20_util/conditional/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/decay/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/enable_if/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-3.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc:
Likewise.
* testsuite/20_util/remove_reference/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/result_of/requirements/typedefs.cc: Likewise.
* testsuite/20_util/underlying_type/requirements/typedefs-3.cc:
Likewise.

From-SVN: r216188

10 years agoAVX-512. 70/n. Add vpmaxmin.
Alexander Ivchenko [Tue, 14 Oct 2014 08:45:17 +0000 (08:45 +0000)]
AVX-512. 70/n. Add vpmaxmin.

gcc/
* config/i386/sse.md
(define_insn "*sse4_1_<code><mode>3<mask_name>"): Add masking.
(define_insn "*sse4_1_<code><mode>3<mask_name>"): Ditto.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216187

10 years agoAVX-512. 69/n. Add vpmulhrsw insn support.
Alexander Ivchenko [Tue, 14 Oct 2014 08:42:02 +0000 (08:42 +0000)]
AVX-512. 69/n. Add vpmulhrsw insn support.

gcc/
        * config/i386/sse.md
        (define_insn "avx512bw_umulhrswv32hi3<mask_name>"): New.
        (define_expand "<ssse3_avx2>_pmulhrsw<mode>3_mask"): Ditto.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216186

10 years agoAVX-512. 68/n. Add vpmullw, vpacksdw, pmaddwd insn.
Alexander Ivchenko [Tue, 14 Oct 2014 08:40:34 +0000 (08:40 +0000)]
AVX-512. 68/n.  Add vpmullw, vpacksdw, pmaddwd insn.

gcc/
* config/i386/sse.md
(define_c_enum "unspec"): Add UNSPEC_PMADDWD512.
(define_mode_iterator VI2_AVX2): Add V32HI mode.
(define_expand "mul<mode>3<mask_name>"): Add masking.
(define_insn "*mul<mode>3<mask_name>"): Ditto.
(define_expand "<s>mul<mode>3_highpart<mask_name>"): Ditto.
(define_insn "*<s>mul<mode>3_highpart<mask_name>"): Ditto.
(define_insn "avx512bw_pmaddwd512<mode><mask_name>"): New.
(define_mode_attr SDOT_PMADD_SUF): Ditto.
(define_expand "sdot_prod<mode>"): Add <SDOT_PMADD_SUF>.
(define_insn "<sse2_avx2>_packssdw<mask_name>"): Add masking.
(define_insn "*<ssse3_avx2>_pmulhrsw<mode>3<mask_name>"): Ditto.
(define_insn "avx2_packusdw"): Delete.
(define_insn "sse4_1_packusdw"): Ditto.
(define_insn "<sse4_1_avx2>_packusdw<mask_name>"): New.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216185

10 years agoAVX-512. 67/n. Update constraints in vec_dup insn.
Alexander Ivchenko [Tue, 14 Oct 2014 08:38:47 +0000 (08:38 +0000)]
AVX-512. 67/n. Update constraints in vec_dup insn.

gcc/
* config/i386/sse.md
(define_insn "vec_dup<mode>"): Update constraints.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216184

10 years agoAVX-512. 66/n. Extend vpalignr insn patterns.
Alexander Ivchenko [Tue, 14 Oct 2014 08:35:12 +0000 (08:35 +0000)]
AVX-512. 66/n. Extend vpalignr insn patterns.

gcc/
* config/i386/sse.md
(define_mode_iterator SSESCALARMODE): Add V4TI mode.
(define_insn "<ssse3_avx2>_palignr<mode>_mask"): New.
(define_insn "<ssse3_avx2>_palignr<mode>"): Add EVEX version.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216183

10 years agoAVX-512. 65/n. Add rest of VI1-AVX2: mul insn pattern.
Alexander Ivchenko [Tue, 14 Oct 2014 08:33:01 +0000 (08:33 +0000)]
AVX-512. 65/n. Add rest of VI1-AVX2: mul insn pattern.

gcc/
* config/i386/sse.md
(define_expand "mul<mode>3<mask_name>"): Add masking.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216182

10 years agoAVX-512. 64/n. Add rest of VI1-AVX2: vpack[us]wb.
Alexander Ivchenko [Tue, 14 Oct 2014 08:28:33 +0000 (08:28 +0000)]
AVX-512. 64/n. Add rest of VI1-AVX2: vpack[us]wb.

gcc/
* config/i386/sse.md
(define_insn "<sse2_avx2>_packsswb<mask_name>"): Add masking.
(define_insn "<sse2_avx2>_packuswb<mask_name>"): Ditto.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216181

10 years agoAVX-512. 62/n. Add vpmaddubsw,vdbpsadbw insn patterns.
Alexander Ivchenko [Tue, 14 Oct 2014 08:26:09 +0000 (08:26 +0000)]
AVX-512. 62/n. Add vpmaddubsw,vdbpsadbw insn patterns.

gcc/
* config/i386/sse.md
(define_c_enum "unspec"): Add UNSPEC_DBPSADBW, UNSPEC_PMADDUBSW512.
(define_insn "avx512bw_pmaddubsw512<mode><mask_name>"): New.
(define_insn "<mask_codefor>avx512bw_dbpsadbw<mode><mask_name>"):
Ditto.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216180

10 years agoAVX-512. 61/n. Update FP logic insn patterns.
Alexander Ivchenko [Tue, 14 Oct 2014 08:20:43 +0000 (08:20 +0000)]
AVX-512. 61/n. Update FP logic insn patterns.

gcc/
* config/i386/sse.md
(define_insn "<sse>_andnot<VF_128_256:mode>3<mask_name>"): Add masking,
use VF_128_256 mode iterator and update assembler emit code.
(define_insn "<sse>_andnot<VF_512:mode>3<mask_name>"): New.
(define_expand "<any_logic:code><VF_128_256:mode>3<mask_name>"):
Add masking, use VF_128_256 mode iterator.
(define_expand "<any_logic:code><VF_512:mode>3<mask_name>"): New.
(define_insn "*<any_logic:code><VF_128_256:mode>3<mask_name>"):
Add masking, use VF_128_256 mode iterator and update assembler emit
code.
(define_insn "*<any_logic:code><VF_512:mode>3<mask_name>"): New.
(define_mode_attr avx512flogicsuff): Delete.
(define_insn "avx512f_<logic><mode>"): Ditto.
(define_insn "*andnot<mode>3<mask_name>"): Update MODE_XI, MODE_OI,
MODE_TI.
(define_insn "<mask_codefor><code><mode>3<mask_name>"): Ditto.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216179

10 years agoAVX-512. 60/n. Update 128bit ashrv insn pattern.
Alexander Ivchenko [Tue, 14 Oct 2014 08:19:17 +0000 (08:19 +0000)]
AVX-512. 60/n. Update 128bit ashrv insn pattern.

gcc/
* config/i386/sse.md
(define_mode_iterator VI128_128 [V16QI V8HI V2DI]): Delete.
(define_expand "vashr<mode>3<mask_name>"): Add masking,
use VI12_128 mode iterator.
(define_expand "ashrv2di3<mask_name>"): New.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216178

10 years agoAVX-512. 59/n. Add vptest[n]m, ucmp, cmpeq insn patterns.
Alexander Ivchenko [Tue, 14 Oct 2014 08:15:32 +0000 (08:15 +0000)]
AVX-512. 59/n. Add vptest[n]m, ucmp, cmpeq insn patterns.

gcc/
* config/i386/i386.c
(ix86_expand_args_builtin): Handle CODE_FOR_avx512vl_cmpv4di3_mask,
CODE_FOR_avx512vl_cmpv8si3_mask, CODE_FOR_avx512vl_ucmpv4di3_mask,
CODE_FOR_avx512vl_ucmpv8si3_mask, CODE_FOR_avx512vl_cmpv2di3_mask,
CODE_FOR_avx512vl_cmpv4si3_mask, CODE_FOR_avx512vl_ucmpv2di3_mask,
CODE_FOR_avx512vl_ucmpv4si3_mask.
* config/i386/sse.md
(define_insn "avx512f_ucmp<mode>3<mask_scalar_merge_name>"): Delete.
"<avx512>_ucmp<VI12_AVX512VL:mode>3<mask_scalar_merge_name>"):New.
(define_insn
"<avx512>_ucmp<VI48_AVX512VL:mode>3<mask_scalar_merge_name>"):Ditto.
(define_expand "<avx512>_eq<mode>3<mask_scalar_merge_name>"): Ditto.
(define_insn "<avx512>_eq<mode>3<mask_scalar_merge_name>_1"): Ditto.
(define_insn "<avx512>_gt<mode>3<mask_scalar_merge_name>"): Ditto.
(define_insn "<avx512>_testm<mode>3<mask_scalar_merge_name>"): Ditto.
(define_insn "<avx512>_testnm<mode>3<mask_scalar_merge_name>"): Ditto.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216177

10 years agoAVX-512. 58/n. Add vpmul[u]dq insn patterns.
Alexander Ivchenko [Tue, 14 Oct 2014 08:13:31 +0000 (08:13 +0000)]
AVX-512. 58/n.  Add vpmul[u]dq insn patterns.

gcc/
* config/i386/sse.md
(define_expand "vec_widen_umult_even_v8si<mask_name>"): Add masking.
(define_insn "*vec_widen_umult_even_v8si<mask_name>"): Ditto.
(define_expand "vec_widen_umult_even_v4si<mask_name>"): Ditto.
(define_insn "*vec_widen_umult_even_v4si<mask_name>"): Ditto.
(define_expand "vec_widen_smult_even_v8si<mask_name>"): Ditto.
(define_insn "*vec_widen_smult_even_v8si<mask_name>"): Ditto.
(define_expand "sse4_1_mulv2siv2di3<mask_name>"): Ditto.
(define_insn "*sse4_1_mulv2siv2di3<mask_name>"): Ditto.
(define_insn "avx512dq_mul<mode>3<mask_name>"): New.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216176

10 years agoAVX-512. 57/n. Extend blend/cmp/brodcast insn patterns.
Alexander Ivchenko [Tue, 14 Oct 2014 08:10:42 +0000 (08:10 +0000)]
AVX-512. 57/n. Extend blend/cmp/brodcast insn patterns.

gcc/
* config/i386/sse.md
(define_insn "avx512f_blendm<mode>"): Delete.
(define_insn "<avx512>_blendm<VI48_AVX512VL:mode>"): New.
(define_insn "<avx512>_blendm<VI12_AVX512VL:mode>"): Ditto..
(define_mode_attr cmp_imm_predicate): Add V8SF, V4DF, V8SI, V4DI, V4SF,
V2DF, V4SI, V2DI, V32HI, V64QI, V16HI, V32QI, V8HI, V16QI modes.
(define_insn
"avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>"):
Remove.
(define_insn
"<avx512>_cmp<VI48_AVX512VL:mode>3<mask_scalar_merge_name><round_saeonly_name>"):
New.
(define_insn
"<avx512>_cmp<VI12_AVX512VL:mode>3<mask_scalar_merge_name><round_saeonly_name>"):
Ditto.
(define_insn "<mask_codefor>avx512f_vec_dup<mode><mask_name>"): Delete.
(define_insn "<avx512>_vec_dup<V48_AVX512VL:mode><mask_name>"): New.
(define_insn "<avx512>_vec_dup<V12_AVX512VL:mode><mask_name>"): Ditto.
(define_insn "<mask_codefor>avx512f_vec_dup_gpr<mode><mask_name>"):
Delete.
(define_insn
"<mask_codefor><avx512>_vec_dup_gpr<VI48_AVX512VL:mode><mask_name>"):
New.
(define_insn
"<mask_codefor><avx512>_vec_dup_gpr<VI12_AVX512VL:mode><mask_name>"):
Ditto.
(define_insn·"<mask_codefor>avx512f_vec_dup_mem<mode><mask_name>"):
Delete.
(define_insn
"<mask_codefor><avx512>_vec_dup_mem<VI48_AVX512VL:mode><mask_name>"):
New.
(define_insn
"<mask_codefor><avx512>_vec_dup_mem<VI12_AVX512VL:mode><mask_name>"):
Ditto.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r216175

10 years agore PR tree-optimization/63512 (ICE: error: virtual use of statement not up-to-date)
Richard Biener [Tue, 14 Oct 2014 07:36:02 +0000 (07:36 +0000)]
re PR tree-optimization/63512 (ICE: error: virtual use of statement not up-to-date)

2014-10-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/63512
* tree-ssa-pre.c (create_expression_by_pieces): Mark stmts
modified.

* g++.dg/torture/pr63512.C: New testcase.

From-SVN: r216174

10 years agore PR target/63260 ([SH] fabs, fneg do not need fp-mode setting and do not use fpscr)
Oleg Endo [Tue, 14 Oct 2014 00:50:18 +0000 (00:50 +0000)]
re PR target/63260 ([SH] fabs, fneg do not need fp-mode setting and do not use fpscr)

gcc/
PR target/63260
* config/sh/sh.md (negsf2, negsf2_i, negdf2, negdf2_i, abssf2,
abssf2_i, absdf2, absdf2_i): Remove fp_mode attribute.  Remove use
of FPSCR.
(negsf2_i): Rename to *negsf2_i.
(abssf2_i): Rename to *abssf2_i.
(negdf2_i): Rename to *negdf2_i.
(absdf2_i): Rename to *absdf2_i.

gcc/testsuite/
PR target/63260
* gcc.target/sh/pr63260.c: New.

From-SVN: r216173

10 years agoDaily bump.
GCC Administrator [Tue, 14 Oct 2014 00:16:25 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r216172

10 years agoira.c (struct equivalence): Change member "is_arg_equivalence" and "replace" into...
Felix Yang [Tue, 14 Oct 2014 00:12:51 +0000 (00:12 +0000)]
ira.c (struct equivalence): Change member "is_arg_equivalence" and "replace" into boolean bitfields...

gcc/
        * ira.c (struct equivalence): Change member "is_arg_equivalence" and
        "replace" into boolean bitfields; turn member "loop_depth" into a short
        integer; add new member "no_equiv" and "reserved".
        (no_equiv): Set no_equiv of struct equivalence if register is marked
        as having no known equivalence.
        (update_equiv_regs): Check all definitions for a multiple-set
        register to make sure that the RHS have the same value.

Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r216169

10 years agoc-parser.c (c_parser_all_labels): New function to replace the duplicate code.
Anthony Brandon [Mon, 13 Oct 2014 21:00:55 +0000 (21:00 +0000)]
c-parser.c (c_parser_all_labels): New function to replace the duplicate code.

gcc/c/ChangeLog:

2014-10-13  Anthony Brandon  <anthony.brandon@gmail.com>

        * c-parser.c (c_parser_all_labels): New function to replace
the duplicate code.
        (c_parser_statement): Call the new function.

From-SVN: r216165

10 years agoHandle cfa adjustments in csa pass
Richard Henderson [Mon, 13 Oct 2014 20:20:44 +0000 (13:20 -0700)]
Handle cfa adjustments in csa pass

* combine-stack-adj.c (no_unhandled_cfa): New.
(maybe_merge_cfa_adjust): New.
(combine_stack_adjustments_for_block): Use them.

From-SVN: r216161

10 years ago* Makefile.in (TAGS): Tag ../include files.
Aldy Hernandez [Mon, 13 Oct 2014 19:57:14 +0000 (19:57 +0000)]
* Makefile.in (TAGS): Tag ../include files.

From-SVN: r216160

10 years agors6000.h (DBX_REGISTER_NUMBER): Pass format argument to rs6000_dbx_register_number.
Ulrich Weigand [Mon, 13 Oct 2014 17:47:20 +0000 (17:47 +0000)]
rs6000.h (DBX_REGISTER_NUMBER): Pass format argument to rs6000_dbx_register_number.

* config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Pass format argument
to rs6000_dbx_register_number.
(DWARF_FRAME_REGNUM): Redefine as identity map.
(DWARF2_FRAME_REG_OUT): Call rs6000_dbx_register_number.
* config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Update.
* config/rs6000/rs6000.c (rs6000_dbx_register_number): Add format
argument to handle .debug_frame and .eh_frame directly.  Always
translate SPE high register numbers.  Add special treatment for CR,
but only in .debug_frame.  Respect RS6000_USE_DWARF_NUMBERING.

* config/rs6000/sysv.h (DBX_REGISTER_NUMBER): Do not undefine.
* config/rs6000/freebsd.h (DBX_REGISTER_NUMBER): Remove.
(RS6000_USE_DWARF_NUMBERING): Define.
* config/rs6000/freebsd64.h (DBX_REGISTER_NUMBER): Remove.
(RS6000_USE_DWARF_NUMBERING): Define.
* config/rs6000/netbsd.h (DBX_REGISTER_NUMBER): Remove.
(RS6000_USE_DWARF_NUMBERING): Define.
* config/rs6000/lynx.h (DBX_REGISTER_NUMBER): Remove.
(RS6000_USE_DWARF_NUMBERING): Define.
* config/rs6000/aix.h (RS6000_USE_DWARF_NUMBERING): Define.
* config/rs6000/darwin.h (RS6000_USE_DWARF_NUMBERING): Define.

From-SVN: r216157

10 years agoAdd missing in r216154 test.
Kirill Yukhin [Mon, 13 Oct 2014 17:29:31 +0000 (17:29 +0000)]
Add missing in r216154 test.

From-SVN: r216156

10 years agoi386.c (ix86_address_cost): Lower cost for when address contains GOT register.
Evgeny Stupachenko [Mon, 13 Oct 2014 17:28:24 +0000 (17:28 +0000)]
i386.c (ix86_address_cost): Lower cost for when address contains GOT register.

gcc/
* config/i386/i386.c (ix86_address_cost): Lower cost for
when address contains GOT register.

From-SVN: r216155

10 years agore PR target/8340 (ICE on x86 inline asm w/ -fPIC)
Kirill Yukhin [Mon, 13 Oct 2014 17:26:49 +0000 (17:26 +0000)]
re PR target/8340 (ICE on x86 inline asm w/ -fPIC)

gcc/
PR target/8340
PR middle-end/47602
PR rtl-optimization/55458
* config/i386/i386.c (ix86_use_pseudo_pic_reg): New.
(ix86_init_pic_reg): New.
(ix86_select_alt_pic_regnum): Add check on pseudo register.
(ix86_save_reg): Likewise.
(ix86_expand_prologue): Remove PIC register initialization
now performed in ix86_init_pic_reg.
(ix86_output_function_epilogue): Add check on pseudo register.
(set_pic_reg_ever_alive): New.
(legitimize_pic_address): Replace df_set_regs_ever_live with new
set_pic_reg_ever_alive.
(legitimize_tls_address): Likewise.
(ix86_pic_register_p): New check.
(ix86_delegitimize_address): Add check on pseudo register.
(ix86_expand_call): Insert move from pseudo PIC register to ABI
defined REAL_PIC_OFFSET_TABLE_REGNUM.
(TARGET_INIT_PIC_REG): New.
(TARGET_USE_PSEUDO_PIC_REG): New.
* config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Return INVALID_REGNUM
if pic_offset_table_rtx exists.
* doc/tm.texi.in (TARGET_USE_PSEUDO_PIC_REG, TARGET_INIT_PIC_REG):
Document.
* doc/tm.texi: Regenerate.
* function.c (assign_parms): Generate pseudo register for PIC.
* init-regs.c (initialize_uninitialized_regs): Ignor pseudo PIC
register.
* ira-color.c (color_pass): Add check on pseudo register.
* ira-emit.c (change_loop): Don't create copies for PIC pseudo
register.
* ira.c (split_live_ranges_for_shrink_wrap): Add check on pseudo
register.
(ira): Add target specific PIC register initialization.
(do_reload): Keep PIC pseudo register.
* lra-assigns.c (spill_for): Add checks on pseudo register.
* lra-constraints.c (contains_symbol_ref_p): New.
(lra_constraints): Enable lra risky transformations when PIC is pseudo
register.
* shrink-wrap.c (try_shrink_wrapping): Add check on pseudo register.
* target.def (use_pseudo_pic_reg): New.
(init_pic_reg): New.

gcc/testsuite/
PR target/8340
PR middle-end/47602
PR rtl-optimization/55458
* gcc.target/i386/pic-1.c: Remove dg-error as test should pass now.
* gcc.target/i386/pr55458.c: Likewise.
* gcc.target/i386/pr47602.c: New.
* gcc.target/i386/pr23098.c: Move to XFAIL.

From-SVN: r216154

10 years agox86-tune.def (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Remove m_SILVERMONT and m_INTEL...
Evgeny Stupachenko [Mon, 13 Oct 2014 17:22:32 +0000 (17:22 +0000)]
x86-tune.def (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Remove m_SILVERMONT and m_INTEL from the tune.

gcc/
* config/i386/x86-tune.def (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY):
Remove m_SILVERMONT and m_INTEL from the tune.

From-SVN: r216153

10 years agore PR libfortran/63471 (unix.c:1906:10: error: implicit declaration of function ...
John David Anglin [Mon, 13 Oct 2014 17:02:35 +0000 (17:02 +0000)]
re PR libfortran/63471 (unix.c:1906:10: error: implicit declaration of function 'ttyname_r')

PR libfortran/63471
        * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
        when _HPUX_SOURCE is defined.

From-SVN: r216152

10 years agoCast size and elements to long for %l
H.J. Lu [Mon, 13 Oct 2014 16:01:40 +0000 (16:01 +0000)]
Cast size and elements to long for %l

* mangle.c (mangle_conv_op_name_for_type): Cast elements to
unsigned long.
(print_template_statistics): Cast size and elements to long.

From-SVN: r216151

10 years agore PR c++/62127 (ICE with VLA in constructor)
Jan Hubicka [Mon, 13 Oct 2014 14:43:24 +0000 (16:43 +0200)]
re PR c++/62127 (ICE with VLA in constructor)

PR tree-optimization/62127
* g++.dg/torture/pr62127.C: New testcase.
* tree.c (remap_type_1): When remapping array, remap
also its type.

From-SVN: r216150

10 years agore PR libstdc++/57350 (std::align missing)
Jonathan Wakely [Mon, 13 Oct 2014 14:08:44 +0000 (15:08 +0100)]
re PR libstdc++/57350 (std::align missing)

PR libstdc++/57350
* include/std/memory (align): Do not adjust correctly aligned address.
* testsuite/20_util/align/2.cc: New.

From-SVN: r216149

10 years agoUpdate ChangeLog for previous commit.
Christophe Lyon [Mon, 13 Oct 2014 14:01:19 +0000 (16:01 +0200)]
Update ChangeLog for previous commit.

From-SVN: r216148

10 years agoMakefile.in: (check-%): Update comment, as RUNTESTFLAGS no longer impact parallelization.
Christophe Lyon [Mon, 13 Oct 2014 13:56:34 +0000 (15:56 +0200)]
Makefile.in: (check-%): Update comment, as RUNTESTFLAGS no longer impact parallelization.

2014-10-13  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/
* Makefile.in: (check-%): Update comment, as RUNTESTFLAGS no
longer impact parallelization.

From-SVN: r216147

10 years agore PR bootstrap/63496 (../../gcc/ipa-polymorphic-call.c:2117:1: error: assuming signe...
Jan Hubicka [Mon, 13 Oct 2014 12:44:00 +0000 (14:44 +0200)]
re PR bootstrap/63496 (../../gcc/ipa-polymorphic-call.c:2117:1: error: assuming signed overflow does not occur when assuming that (X + c) < X is always false [-Werror=strict-overflow])

PR bootstrap/63496
* ipa-polymorphic-call.c (extr_type_from_vtbl_ptr_store): Fix pasto.

From-SVN: r216146

10 years agoxmethods.py: Add xmethods for std::array, std::deque, std::forward_list, std::list...
Siva Chandra Reddy [Mon, 13 Oct 2014 11:23:10 +0000 (11:23 +0000)]
xmethods.py: Add xmethods for std::array, std::deque, std::forward_list, std::list, std::vector.

2014-10-13  Siva Chandra Reddy  <sivachandra@google.com>

* python/libstdcxx/v6/xmethods.py: Add xmethods for std::array,
std::deque, std::forward_list, std::list, std::vector.
* testsuite/libstdc++-xmethods/array.cc: New file.
* testsuite/libstdc++-xmethods/deque.cc: Likewise.
* testsuite/libstdc++-xmethods/forwardlist.cc: Likewise.
* testsuite/libstdc++-xmethods/list.cc: Likewise.
* testsuite/libstdc++-xmethods/vector.cc: Add tests.

From-SVN: r216145

10 years agoasan.c (instrument_derefs): BIT_FIELD_REF added.
Marat Zakirov [Mon, 13 Oct 2014 10:44:45 +0000 (10:44 +0000)]
asan.c (instrument_derefs): BIT_FIELD_REF added.

gcc/ChangeLog:

2014-09-19  Marat Zakirov  <m.zakirov@samsung.com>

* asan.c (instrument_derefs): BIT_FIELD_REF added.

gcc/testsuite/ChangeLog:

2014-09-19  Marat Zakirov  <m.zakirov@samsung.com>

* c-c++-common/asan/bitfield-5.c: New test.

From-SVN: r216144

10 years agomemory (align): Define.
Rüdiger Sonderfeld [Mon, 13 Oct 2014 10:05:21 +0000 (10:05 +0000)]
memory (align): Define.

2014-10-13  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>

* include/std/memory (align): Define.
* testsuite/20_util/align/1.cc: New.

From-SVN: r216143

10 years agore PR libstdc++/61347 (std::distance(list.first(),list.end()) in O(1))
Marc Glisse [Mon, 13 Oct 2014 10:00:27 +0000 (12:00 +0200)]
re PR libstdc++/61347 (std::distance(list.first(),list.end()) in O(1))

2014-10-13  Marc Glisse  <marc.glisse@inria.fr>

PR libstdc++/61347
PR libstdc++/63345
* include/bits/list.tcc (_List_base::_M_clear()): Delay cast so it
isn't done for the sentinel.
* include/bits/stl_list.h (_List_base::_M_size): Move...
(_List_base::_List_impl::_M_node): ... here.
(_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
_List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
_List_base::_M_node_count): Adapt to the move.
* 23_containers/list/requirements/dr438/assign_neg.cc: Update
line number.
* 23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise.
* 23_containers/list/requirements/dr438/constructor_2_neg.cc: Likewise.
* 23_containers/list/requirements/dr438/insert_neg.cc: Likewise.

From-SVN: r216142

10 years agore PR ada/63225 (ada bootstrap failure when -fno-inline in STAGE1_CFLAGS)
Eric Botcazou [Mon, 13 Oct 2014 08:19:45 +0000 (08:19 +0000)]
re PR ada/63225 (ada bootstrap failure when -fno-inline in STAGE1_CFLAGS)

PR ada/63225
* uintp.adb (Vector_To_Uint): Move from here to...
* uintp.ads (UI_Vector): Make public.
(Vector_To_Uint): ...here.

Co-Authored-By: Alan Modra <amodra@gmail.com>
From-SVN: r216139

10 years agore PR c++/63419 (verify_gimple failed: "vector CONSTRUCTOR element is not a GIMPLE...
Richard Biener [Mon, 13 Oct 2014 07:58:05 +0000 (07:58 +0000)]
re PR c++/63419 (verify_gimple failed: "vector CONSTRUCTOR element is not a GIMPLE value")

2014-10-13  Richard Biener  <rguenther@suse.de>

PR tree-optimization/63419
* gimple-fold.h (gimple_convert): New function.
* gimple-fold.c (gimple_convert): Likewise.
* tree-ssa-pre.c (create_expression_by_pieces): Use gimple_convert
to split out required conversions early.

* g++.dg/torture/pr63419.C: New testcase.

From-SVN: r216138

10 years agortlanal.c (generic_subrtx_iterator <T>::add_subrtxes_to_queue): Add the parts of...
Richard Sandiford [Mon, 13 Oct 2014 07:05:46 +0000 (07:05 +0000)]
rtlanal.c (generic_subrtx_iterator <T>::add_subrtxes_to_queue): Add the parts of an insn in reverse order, with the pattern at the top of the queue.

gcc/
* rtlanal.c (generic_subrtx_iterator <T>::add_subrtxes_to_queue):
Add the parts of an insn in reverse order, with the pattern at
the top of the queue.  Detect when we're iterating over a SEQUENCE
pattern and in that case just consider patterns of subinstructions.

From-SVN: r216137

10 years agoDaily bump.
GCC Administrator [Mon, 13 Oct 2014 00:16:27 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r216131

10 years agore PR target/59401 ([SH] GBR addressing mode optimization produces wrong code)
Oleg Endo [Sun, 12 Oct 2014 23:14:07 +0000 (23:14 +0000)]
re PR target/59401 ([SH] GBR addressing mode optimization produces wrong code)

gcc/
PR target/59401
* config/sh/sh-protos (sh_find_equiv_gbr_addr): Use rtx_insn* instead
of rtx.
* config/sh/sh.c (sh_find_equiv_gbr_addr): Use def chains instead of
insn walking.
(sh_find_equiv_gbr_addr): Do nothing if input mem is already a GBR
address.  Use def chains to handle GBR clobbering call insns.

gcc/testsuite/
PR target/59401
PR target/54760
* gcc.target/pr54760-5.c: New.
* gcc.target/pr54760-6.c: New.
* gcc.target/sh/pr59401-1.c: New.

From-SVN: r216128

10 years agomove many gc hashtab to hash_table
Trevor Saunders [Sun, 12 Oct 2014 22:22:53 +0000 (22:22 +0000)]
move many gc hashtab to hash_table

gcc/

* asan.c, cfgloop.c, cfgloop.h, cgraph.c, cgraph.h,
config/darwin.c, config/m32c/m32c.c, config/mep/mep.c,
config/mips/mips.c, config/rs6000/rs6000.c, dwarf2out.c,
function.c, function.h, gimple-ssa.h, libfuncs.h, optabs.c,
output.h, rtl.h, sese.c, symtab.c, tree-cfg.c, tree-dfa.c,
tree-ssa.c, varasm.c: Use hash-table instead of hashtab.
* doc/gty.texi (for_user): Document new option.
* gengtype.c (create_user_defined_type): Don't try to get a struct for
char.
(walk_type): Don't error out on for_user option.
(write_func_for_structure): Emit user marking routines if requested by
for_user option.
(write_local_func_for_structure): Likewise.
(main): Mark types with for_user option as used.
* ggc.h (gt_pch_nx): Add overload for unsigned int.
* hash-map.h (hash_map::hash_entry::pch_nx_helper): AddOverloads.
* hash-table.h (ggc_hasher): New struct.
(hash_table::create_ggc): New function.
(gt_pch_nx): New overload for hash_table.

java/

* class.c, decl.c, except.c, expr.c, java-tree.h, lang.c: Use
hash_table instead of hashtab.

objc/

* objc-act.c: use hash_table instead of hashtab.

cp/

* cp-gimplify.c, cp-tree.h, decl.c, mangle.c, name-lookup.c,
pt.c, semantics.c, tree.c, typeck2.c: Use hash_table instead of
hashtab.

fortran/

* trans-decl.c, trans.c, trans.h: Use hash_table instead of hashtab.

c-family/

* c-common.c: Use hash_table instead of hashtab.

From-SVN: r216127

10 years agoREADME: Do not mention CVS.
Manuel López-Ibáñez [Sun, 12 Oct 2014 15:05:28 +0000 (15:05 +0000)]
README: Do not mention CVS.

2014-10-12  Manuel López-Ibáñez <manu@gcc.gnu.org>

* INSTALL/README: Do not mention CVS.

From-SVN: r216126

10 years agore PR c++/62115 (ICE with invalid default argument)
Jason Merrill [Sun, 12 Oct 2014 01:42:31 +0000 (21:42 -0400)]
re PR c++/62115 (ICE with invalid default argument)

PR c++/62115
* class.c (build_base_path): Preserve rvalueness.
* call.c (convert_like_real) [ck_base]: Let convert_to_base handle &/*.
* rtti.c (build_dynamic_cast_1): Call convert_to_reference later.

From-SVN: r216124

10 years agoDaily bump.
GCC Administrator [Sun, 12 Oct 2014 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r216123

10 years agore PR fortran/48979 (FRACTION und EXPONENT return invalid results for infinity/NaN)
François-Xavier Coudert [Sat, 11 Oct 2014 16:57:32 +0000 (16:57 +0000)]
re PR fortran/48979 (FRACTION und EXPONENT return invalid results for infinity/NaN)

PR fortran/48979

* simplify.c (gfc_simplify_atan): Use mpfr_zero_p to check for zeros.
(gfc_simplify_log): Likewise.
(gfc_simplify_scale): Likewise.
(gfc_simplify_exponent): Handle infinities and NaNs.
(gfc_simplify_fraction): Handle infinities.
(gfc_simplify_rrspacing): Handle signed zeros and NaNs.
(gfc_simplify_set_exponent): Handle infinities and NaNs.
(gfc_simplify_spacing): Handle zeros, infinities and NaNs.

* gfortran.dg/ieee/intrinsics_1.f90: New test.

From-SVN: r216120

10 years agosh.h (TARGET_SH4A_ARCH): Remove macro.
Oleg Endo [Sat, 11 Oct 2014 13:11:58 +0000 (13:11 +0000)]
sh.h (TARGET_SH4A_ARCH): Remove macro.

gcc/
* config/sh/sh.h (TARGET_SH4A_ARCH): Remove macro.
* config/sh/sh.h: Replace uses of TARGET_SH4A_ARCH with TARGET_SH4A.
* config/sh/sh.c: Likewise.
* config/sh/sh-mem.cc: Likewise.
* config/sh/sh.md: Likewise.
* config/sh/predicates.md: Likewise.
* config/sh/sync.md: Likewise.

From-SVN: r216119

10 years agotarget-supports.exp (check_effective_target_shared): New function.
Christophe Lyon [Sat, 11 Oct 2014 11:33:37 +0000 (11:33 +0000)]
target-supports.exp (check_effective_target_shared): New function.

2014-10-11  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/testsuite/
* lib/target-supports.exp (check_effective_target_shared): New
function.
        * g++.dg/ipa/devirt-28a.C: Check if -shared is supported.

From-SVN: r216117

10 years agore PR c++/63194 (ICE in maybe_explain_implicit_delete, at cp/method.c:1552)
Jason Merrill [Sat, 11 Oct 2014 02:26:33 +0000 (22:26 -0400)]
re PR c++/63194 (ICE in maybe_explain_implicit_delete, at cp/method.c:1552)

PR c++/63194
* method.c (defaulted_late_check): Call maybe_instantiate_noexcept.

From-SVN: r216114

10 years agoDaily bump.
GCC Administrator [Sat, 11 Oct 2014 00:16:20 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r216113

10 years agocgraphunit.c (symbol_table::process_new_functions): Missing call for call_cgraph_inse...
Martin Liska [Fri, 10 Oct 2014 23:37:42 +0000 (01:37 +0200)]
cgraphunit.c (symbol_table::process_new_functions): Missing call for call_cgraph_insertion_hooks added.

PR/63376
* cgraphunit.c (symbol_table::process_new_functions): Missing call
for call_cgraph_insertion_hooks added.

From-SVN: r216110

10 years agomethod.c (implicitly_declare_fn): Handle deleted lambda default ctor and copy assop...
Jason Merrill [Fri, 10 Oct 2014 20:27:07 +0000 (16:27 -0400)]
method.c (implicitly_declare_fn): Handle deleted lambda default ctor and copy assop here.

* method.c (implicitly_declare_fn): Handle deleted lambda default
ctor and copy assop here.
* class.c (check_bases_and_members): Not here.
(add_implicitly_declared_members): And don't set
CLASSTYPE_LAZY_MOVE_ASSIGN.

From-SVN: r216105

10 years ago* semantics.c (finish_id_expression): Check for error_mark_node.
Jason Merrill [Fri, 10 Oct 2014 20:24:36 +0000 (16:24 -0400)]
* semantics.c (finish_id_expression): Check for error_mark_node.

From-SVN: r216104

10 years agore PR c/63495 (struct __attribute__ ((aligned (8))) broken on x86)
Jakub Jelinek [Fri, 10 Oct 2014 17:43:21 +0000 (19:43 +0200)]
re PR c/63495 (struct __attribute__ ((aligned (8))) broken on x86)

PR c/63495
* stor-layout.c (min_align_of_type): Don't decrease alignment
through BIGGEST_FIELD_ALIGNMENT or ADJUST_FIELD_ALIGN if
TYPE_USER_ALIGN is set.

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

From-SVN: r216101