platform/upstream/gcc.git
9 years agocompiler: Don't allow builtin function values.
Ian Lance Taylor [Fri, 31 Jul 2015 17:52:38 +0000 (17:52 +0000)]
compiler: Don't allow builtin function values.

    According to the spec, http://golang.org/ref/spec#Built-in_functions:
    "built-in functions do not have standard Go types, so they can only
    appear in call expressions; they cannot be used as function values."

    Fixes golang/go#11570.

    Reviewed-on: https://go-review.googlesource.com/12543

From-SVN: r226448

9 years ago[ARM][2/3] Make if_neg_move and if_move_neg into insn_and_split
Kyrylo Tkachov [Fri, 31 Jul 2015 16:39:35 +0000 (16:39 +0000)]
[ARM][2/3] Make if_neg_move and if_move_neg into insn_and_split

* config/arm/arm.md (*if_neg_move): Convert to insn_and_split.
Enable for TARGET_32BIT.
(*if_move_neg): Likewise.

From-SVN: r226447

9 years agom32r.c (m32r_attribute_identifier): New function.
Nick Clifton [Fri, 31 Jul 2015 15:55:16 +0000 (15:55 +0000)]
m32r.c (m32r_attribute_identifier): New function.

* config/m32r/m32r.c (m32r_attribute_identifier): New function.
Returns true for __model__.
(TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.

From-SVN: r226445

9 years agore PR go/66870 (split stack issues on ppc64le and ppc64)
Alan Modra [Fri, 31 Jul 2015 14:05:42 +0000 (23:35 +0930)]
re PR go/66870 (split stack issues on ppc64le and ppc64)

PR target/66870
* config/rs6000/rs6000.c (machine_function): Add split_stack_argp_used.
(rs6000_emit_prologue): Set it.
(rs6000_set_up_by_prologue): Specify r12 when split_stack_argp_used.

From-SVN: r226443

9 years agore PR sanitizer/66977 (-fsanitize=shift may introduce uninitialized variables)
Marek Polacek [Fri, 31 Jul 2015 11:12:57 +0000 (11:12 +0000)]
re PR sanitizer/66977 (-fsanitize=shift may introduce uninitialized variables)

PR sanitizer/66977
* typeck.c (get_member_function_from_ptrfunc): Don't sanitize
RSHIFT_EXPR.

* g++.dg/ubsan/pr66977.C: New test.

From-SVN: r226440

9 years agofold-const.c (fold_binary_loc): Remove X ^ C1 == C2 -> X == (C1 ^ C2) which is alread...
Richard Biener [Fri, 31 Jul 2015 10:36:56 +0000 (10:36 +0000)]
fold-const.c (fold_binary_loc): Remove X ^ C1 == C2 -> X == (C1 ^ C2) which is already implemented in match.pd.

2015-07-31  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Remove X ^ C1 == C2
-> X == (C1 ^ C2) which is already implemented in match.pd.
Remove redundant dispatching to fold_relational_const.
Move unordered self and NaN compares ...
* match.pd: ... as patterns here.  Remove some stray captures
and add a comment.

From-SVN: r226434

9 years agoRefactoring masked built-in decls to use proper mask type.
Petr Murzin [Fri, 31 Jul 2015 09:14:07 +0000 (09:14 +0000)]
Refactoring masked built-in decls to use proper mask type.

gcc/
* config/i386/i386.c
(bdesc_special_args): Convert mask type from signed to unsigned for
masked builtins.
(ix86_expand_args_builtin): Do not handle UINT_FTYPE_V2DF,
UINT64_FTYPE_V2DF, UINT64_FTYPE_V4SF, V16QI_FTYPE_V8DI,
V16HI_FTYPE_V16SI, V16SI_FTYPE_V16SI, V16SF_FTYPE_FLOAT,
V8HI_FTYPE_V8DI, V8UHI_FTYPE_V8UHI, V8SI_FTYPE_V8DI, V8SF_FTYPE_V8DF,
V8DI_FTYPE_INT64, V8DI_FTYPE_V4DI, V8DI_FTYPE_V8DI, V8DF_FTYPE_DOUBLE,
V8DF_FTYPE_V8SI, V16SI_FTYPE_V16SI_V16SI, V16SF_FTYPE_V16SF_V16SI,
V8DI_FTYPE_V8DI_V8DI, V8DF_FTYPE_V8DF_V8DI, V4SI_FTYPE_V4SF_V4SF,
V4SF_FTYPE_V4SF_UINT64, V2UDI_FTYPE_V4USI_V4USI, V2DI_FTYPE_V2DF_V2DF,
V2DF_FTYPE_V2DF_UINT64, V4UDI_FTYPE_V8USI_V8USI, QI_FTYPE_V8DI_V8DI,
HI_FTYPE_V16SI_V16SI, HI_FTYPE_HI_INT, V16SF_FTYPE_V16SF_V16SF_V16SF,
V16SF_FTYPE_V16SF_V16SI_V16SF, V16SF_FTYPE_V16SI_V16SF_HI,
V16SF_FTYPE_V16SI_V16SF_V16SF, V16SI_FTYPE_V16SF_V16SI_HI,
V8DI_FTYPE_V8SF_V8DI_QI, V8SF_FTYPE_V8DI_V8SF_QI, V8DI_FTYPE_PV4DI,
V8DF_FTYPE_V8DI_V8DF_QI, V16SI_FTYPE_V16SI_V16SI_V16SI,
V2DI_FTYPE_V2DI_V2DI_V2DI, V8DI_FTYPE_V8DF_V8DI_QI, V8DF_FTYPE_PV4DF,
V8SI_FTYPE_V8SI_V8SI_V8SI, V8DF_FTYPE_V8DF_V8DF_V8DF, UINT_FTYPE_V4SF,
V8DF_FTYPE_V8DF_V8DI_V8DF, V8DF_FTYPE_V8DI_V8DF_V8DF,
V8DF_FTYPE_V8SF_V8DF_QI, V8DI_FTYPE_V8DI_V8DI_V8DI, V16SF_FTYPE_PV4SF,
V8SF_FTYPE_V8DF_V8SF_QI, V8SI_FTYPE_V8DF_V8SI_QI, V16SI_FTYPE_PV4SI,
V2DF_FTYPE_V2DF_V4SF_V2DF_QI, V4SF_FTYPE_V4SF_V2DF_V4SF_QI,
V8DI_FTYPE_V8DI_SI_V8DI_V8DI, QI_FTYPE_V8DF_V8DF_INT_QI,
HI_FTYPE_V16SF_V16SF_INT_HI, V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI,
VOID_FTYPE_PDOUBLE_V2DF_QI, VOID_FTYPE_PFLOAT_V4SF_QI,
V2DF_FTYPE_PCDOUBLE_V2DF_QI, V4SF_FTYPE_PCFLOAT_V4SF_QI.
* config/i386/i386-builtin-types.def
(V16QI_FTYPE_V16SI): Remove.
(V8DF_FTYPE_V8SI): Ditto.
(V8HI_FTYPE_V8DI): Ditto.
(V8SI_FTYPE_V8DI): Ditto.
(V8SF_FTYPE_V8DF): Ditto.
(V8SF_FTYPE_V8DF_V8SF_QI): Ditto.
(V16HI_FTYPE_V16SI): Ditto.
(V16SF_FTYPE_V16HI): Ditto.
(V16SF_FTYPE_V16HI_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SI): Ditto.
(V4DI_FTYPE_V4DI): Ditto.
(V16SI_FTYPE_V16SF): Ditto.
(V16SF_FTYPE_FLOAT): Ditto.
(V8DF_FTYPE_DOUBLE): Ditto.
(V8DI_FTYPE_INT64): Ditto.
(V8DI_FTYPE_V4DI): Ditto.
(V16QI_FTYPE_V8DI): Ditto.
(UINT_FTYPE_V4SF): Ditto.
(UINT64_FTYPE_V4SF): Ditto.
(UINT_FTYPE_V2DF): Ditto.
(UINT64_FTYPE_V2DF): Ditto.
(V16SI_FTYPE_V16SI): Ditto.
(V8DI_FTYPE_V8DI): Ditto.
(V16SI_FTYPE_PV4SI): Ditto.
(V16SF_FTYPE_PV4SF): Ditto.
(V8DI_FTYPE_PV2DI): Ditto.
(V8DF_FTYPE_PV2DF): Ditto.
(V4DI_FTYPE_PV2DI): Ditto.
(V4DF_FTYPE_PV2DF): Ditto.
(V16SI_FTYPE_PV2SI): Ditto.
(V16SF_FTYPE_PV2SF): Ditto.
(V8DI_FTYPE_PV4DI): Ditto.
(V8DF_FTYPE_PV4DF): Ditto.
(V8SF_FTYPE_FLOAT): Ditto.
(V4SF_FTYPE_FLOAT): Ditto.
(V4DF_FTYPE_DOUBLE): Ditto.
(V8SF_FTYPE_PV4SF): Ditto.
(V8SI_FTYPE_PV4SI): Ditto.
(V4SI_FTYPE_PV2SI): Ditto.
(V8SF_FTYPE_PV2SF): Ditto.
(V8SI_FTYPE_PV2SI): Ditto.
(V16SF_FTYPE_PV8SF): Ditto.
(V16SI_FTYPE_PV8SI): Ditto.
(V8DI_FTYPE_V8SF): Ditto.
(V4DI_FTYPE_V4SF): Ditto.
(V2DI_FTYPE_V4SF): Ditto.
(V64QI_FTYPE_QI): Ditto.
(V32HI_FTYPE_HI): Ditto.
(V8UHI_FTYPE_V8UHI): Ditto.
(V16UHI_FTYPE_V16UHI): Ditto.
(V32UHI_FTYPE_V32UHI): Ditto.
(V2UDI_FTYPE_V2UDI): Ditto.
(V4UDI_FTYPE_V4UDI): Ditto.
(V8UDI_FTYPE_V8UDI): Ditto.
(V4USI_FTYPE_V4USI): Ditto.
(V8USI_FTYPE_V8USI): Ditto.
(V16USI_FTYPE_V16USI): Ditto.
(V2DF_FTYPE_V2DF_UINT64): Ditto.
(V2DI_FTYPE_V2DF_V2DF): Ditto.
(V2UDI_FTYPE_V4USI_V4USI): Ditto.
(V8DF_FTYPE_V8DF_V8DI): Ditto.
(V4SF_FTYPE_V4SF_UINT64): Ditto.
(V4SI_FTYPE_V4SF_V4SF): Ditto.
(V16SF_FTYPE_V16SF_V16SI): Ditto.
(V64QI_FTYPE_V32HI_V32HI): Ditto.
(V32HI_FTYPE_V16SI_V16SI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_V8DI_INT_QI): Ditto.
(V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI): Ditto.
(V32HI_FTYPE_V64QI_V64QI): Ditto.
(V32HI_FTYPE_V32HI_V32HI): Ditto.
(V16HI_FTYPE_V16HI_V16HI_INT_V16HI_HI): Ditto.
(V16SI_FTYPE_V16SI_V4SI): Ditto.
(V16SI_FTYPE_V16SI_V16SI): Ditto.
(V16SI_FTYPE_V32HI_V32HI): Ditto.
(V16SI_FTYPE_V16SI_SI): Ditto.
(V8DI_FTYPE_V8DI_V8DI): Ditto.
(V4UDI_FTYPE_V8USI_V8USI): Ditto.
(V8DI_FTYPE_V16SI_V16SI): Ditto.
(V8DI_FTYPE_V8DI_V2DI): Ditto.
(QI_FTYPE_QI): Ditto.
(SI_FTYPE_SI): Ditto.
(DI_FTYPE_DI): Ditto.
(QI_FTYPE_QI_QI): Ditto.
(QI_FTYPE_QI_INT): Ditto.
(HI_FTYPE_HI_INT): Ditto.
(SI_FTYPE_SI_INT): Ditto.
(DI_FTYPE_DI_INT): Ditto.
(HI_FTYPE_V16QI_V16QI): Ditto.
(SI_FTYPE_V32QI_V32QI): Ditto.
(DI_FTYPE_V64QI_V64QI): Ditto.
(QI_FTYPE_V8HI_V8HI): Ditto.
(HI_FTYPE_V16HI_V16HI): Ditto.
(SI_FTYPE_V32HI_V32HI): Ditto.
(QI_FTYPE_V4SI_V4SI): Ditto.
(QI_FTYPE_V8SI_V8SI): Ditto.
(QI_FTYPE_V2DI_V2DI): Ditto.
(QI_FTYPE_V4DI_V4DI): Ditto.
(QI_FTYPE_V8DI_V8DI): Ditto.
(HI_FTYPE_V16SI_V16SI): Ditto.
(HI_FTYPE_V16SI_V16SI_INT_HI): Ditto.
(QI_FTYPE_V8DF_V8DF_INT_QI): Ditto.
(HI_FTYPE_V16SF_V16SF_INT_HI): Ditto.
(V32HI_FTYPE_V32HI_V32HI_V32HI): Ditto.
(V4SF_FTYPE_V4SF_V2DF_V4SF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_V8DF): Ditto.
(V16SF_FTYPE_V16SF_V16SF_V16SF): Ditto.
(V8DF_FTYPE_V8SF_V8DF_QI): Ditto.
(V8DI_FTYPE_V8DF_V8DI_QI): Ditto.
(V8DF_FTYPE_V8DI_V8DF_V8DF): Ditto.
(V2DF_FTYPE_V2DF_V4SF_V2DF_QI): Ditto.
(V16SF_FTYPE_V16SI_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SI_V16SF_V16SF): Ditto.
(V8SI_FTYPE_V8DF_V8SI_QI): Ditto.
(V8DI_FTYPE_PCCHAR_V8DI_QI): Ditto.
(V8SF_FTYPE_PCFLOAT_V8SF_QI): Ditto.
(V4SF_FTYPE_PCFLOAT_V4SF_QI): Ditto.
(V4DF_FTYPE_PCDOUBLE_V4DF_QI): Ditto.
(V2DF_FTYPE_PCDOUBLE_V2DF_QI): Ditto.
(V8SI_FTYPE_PCCHAR_V8SI_QI): Ditto.
(V4SI_FTYPE_PCCHAR_V4SI_QI): Ditto.
(V4DI_FTYPE_PCCHAR_V4DI_QI): Ditto.
(V2DI_FTYPE_PCCHAR_V2DI_QI): Ditto.
(V16SF_FTYPE_PCV8SF_V16SF_HI): Ditto.
(V16SI_FTYPE_PCV8SI_V16SI_HI): Ditto.
(V8DF_FTYPE_PCV2DF_V8DF_QI): Ditto.
(V8SF_FTYPE_PCV4SF_V8SF_QI): Ditto.
(V8DI_FTYPE_PCV2DI_V8DI_QI): Ditto.
(V8SI_FTYPE_PCV4SI_V8SI_QI): Ditto.
(V4DF_FTYPE_PCV2DF_V4DF_QI): Ditto.
(V4DI_FTYPE_PCV2DI_V4DI_QI): Ditto.
(VOID_FTYPE_PDOUBLE_V2DF_QI): Ditto.
(VOID_FTYPE_PFLOAT_V4SF_QI): Ditto.
(V16SI_FTYPE_V16SF_V16SI_HI): Ditto.
(V8DI_FTYPE_V8SF_V8DI_QI): Ditto.
(V8SF_FTYPE_V8DI_V8SF_QI): Ditto.
(V8DF_FTYPE_V8DI_V8DF_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_V2DI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_V4SI): Ditto.
(V2UDI_FTYPE_V2UDI_V2UDI_V2UDI): Ditto.
(V4USI_FTYPE_V4USI_V4USI_V4USI): Ditto.
(V8UHI_FTYPE_V8UHI_V8UHI_V8UHI): Ditto.
(V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_V4DI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_V8SI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_V8DI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_V16SI): Ditto.
(V2DF_FTYPE_V2DF_V2DI_V2DF): Ditto.
(V4DF_FTYPE_V4DF_V4DI_V4DF): Ditto.
(V8DF_FTYPE_V8DF_V8DI_V8DF): Ditto.
(V4SF_FTYPE_V4SF_V4SI_V4SF): Ditto.
(V8SF_FTYPE_V8SF_V8SI_V8SF): Ditto.
(V16SF_FTYPE_V16SF_V16SI_V16SF): Ditto.
(V8DI_FTYPE_V8DI_SI_V8DI_V8DI): Ditto.
(PVOID_FTYPE_PVOID_PVOID_ULONG): Ditto.
(V4SF_FTYPE_V2DF_V4SF_QI): Convert mask type from signed to unsigned.
(V4SF_FTYPE_V4DF_V4SF_QI): Ditto.
(V4SF_FTYPE_V8HI_V4SF_QI): Ditto.
(V8SF_FTYPE_V8HI_V8SF_QI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_HI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_QI): Ditto.
(V2DF_FTYPE_V4DF_INT_V2DF_QI): Ditto.
(V2DF_FTYPE_V8DF_INT_V2DF_QI): Ditto.
(V2DI_FTYPE_V2DI_INT_V2DI_QI): Ditto.
(V4DF_FTYPE_V8DF_INT_V4DF_QI): Ditto.
(V4SF_FTYPE_V8SF_INT_V4SF_QI): Ditto.
(V4SI_FTYPE_V2DF_V4SI_QI): Ditto.
(V4SI_FTYPE_V4SI_INT_V4SI_QI): Ditto.
(V4SI_FTYPE_V8HI_V8HI_V4SI_QI): Ditto.
(V4SI_FTYPE_V8SI_INT_V4SI_QI): Ditto.
(V8HI_FTYPE_V16QI_V16QI_V8HI_QI): Ditto.
(V8HI_FTYPE_V8SF_INT_V8HI_QI): Ditto.
(V8HI_FTYPE_V4SF_INT_V8HI_QI): Ditto.
(V8SF_FTYPE_V16SF_INT_V8SF_QI): Ditto.
(V4SF_FTYPE_V16SF_INT_V4SF_QI): Ditto.
(V8DF_FTYPE_V8DF_V2DF_INT_V8DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V4DF_INT_V8DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI): Ditto.
(V8DF_FTYPE_V8DF_INT_V8DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_V4DI_INT_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI): Ditto.
(V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SF_INT_V16SF_HI): Ditto.
(V16SI_FTYPE_V16SI_V4SI_INT_V16SI_HI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_V8SI_INT_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI): Ditto.
(V16SF_FTYPE_V16SF_V4SF_INT_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SF_V8SF_INT_V16SF_HI): Ditto.
(V16HI_FTYPE_V32QI_V32QI_V16HI_HI): Ditto.
(V32HI_FTYPE_V64QI_V64QI_V32HI_SI): Ditto.
(V16HI_FTYPE_V16SF_INT_V16HI_HI): Ditto.
(V16SI_FTYPE_V16SI_V8SI_INT_V16SI_HI): Ditto.
(V4SI_FTYPE_V16SI_INT_V4SI_QI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_INT_V16SI_HI): Ditto.
(V8SI_FTYPE_V16HI_V16HI_V8SI_QI): Ditto.
(V16SI_FTYPE_V32HI_V32HI_V16SI_HI): Ditto.
(V8SI_FTYPE_V8SI_INT_V8SI_QI): Ditto.
(V8SI_FTYPE_V16SI_INT_V8SI_QI): Ditto.
(V16SI_FTYPE_V16SI_V4SI_V16SI_HI): Ditto.
(V16SI_FTYPE_V16SI_INT_V16SI_HI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_INT_V8DI_QI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_INT_V8DI_DI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_INT_V4DI_SI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_INT_V2DI_HI): Ditto.
(V8DI_FTYPE_V8DI_V2DI_INT_V8DI_QI): Ditto.
(V8DI_FTYPE_V8DI_V4DI_INT_V8DI_QI): Ditto.
(V4DI_FTYPE_V8DI_INT_V4DI_QI): Ditto.
(V8DI_FTYPE_V8DI_V2DI_V8DI_QI): Ditto.
(V8DI_FTYPE_V8DI_INT_V8DI_QI): Ditto.
(V4DI_FTYPE_V4DI_INT_V4DI_QI): Ditto.
(V2DI_FTYPE_V4DI_INT_V2DI_QI): Ditto.
(V2DI_FTYPE_V8DI_INT_V2DI_QI): Ditto.
(HI_FTYPE_HI): Ditto.
(HI_FTYPE_V16QI): Ditto.
(SI_FTYPE_V32QI): Ditto.
(DI_FTYPE_V64QI): Ditto.
(QI_FTYPE_V8HI): Ditto.
(HI_FTYPE_V16HI): Ditto.
(SI_FTYPE_V32HI): Ditto.
(QI_FTYPE_V4SI): Ditto.
(QI_FTYPE_V8SI): Ditto.
(HI_FTYPE_V16SI): Ditto.
(QI_FTYPE_V2DI): Ditto.
(QI_FTYPE_V4DI): Ditto.
(QI_FTYPE_V8DI): Ditto.
(V16QI_FTYPE_HI): Ditto.
(V32QI_FTYPE_SI): Ditto.
(V64QI_FTYPE_DI): Ditto.
(V8HI_FTYPE_QI): Ditto.
(V16HI_FTYPE_HI): Ditto.
(V32HI_FTYPE_SI): Ditto.
(V4SI_FTYPE_QI): Ditto.
(V4SI_FTYPE_HI): Ditto.
(V8SI_FTYPE_QI): Ditto.
(V8SI_FTYPE_HI): Ditto.
(V2DI_FTYPE_QI): Ditto.
(V4DI_FTYPE_QI): Ditto.
(HI_FTYPE_HI_HI): Ditto.
(SI_FTYPE_SI_SI): Ditto.
(DI_FTYPE_DI_DI): Ditto.
(HI_FTYPE_V16QI_V16QI_HI): Ditto.
(HI_FTYPE_V16QI_V16QI_INT_HI): Ditto.
(SI_FTYPE_V32QI_V32QI_SI): Ditto.
(SI_FTYPE_V32QI_V32QI_INT_SI): Ditto.
(DI_FTYPE_V64QI_V64QI_DI): Ditto.
(DI_FTYPE_V64QI_V64QI_INT_DI): Ditto.
(QI_FTYPE_V8HI_V8HI_QI): Ditto.
(QI_FTYPE_V8HI_V8HI_INT_QI): Ditto.
(HI_FTYPE_V16HI_V16HI_HI): Ditto.
(HI_FTYPE_V16HI_V16HI_INT_HI): Ditto.
(SI_FTYPE_V32HI_V32HI_SI): Ditto.
(SI_FTYPE_V32HI_V32HI_INT_SI): Ditto.
(QI_FTYPE_V4SI_V4SI_QI): Ditto.
(QI_FTYPE_V4SI_V4SI_INT_QI): Ditto.
(QI_FTYPE_V8SI_V8SI_QI): Ditto.
(QI_FTYPE_V8SI_V8SI_INT_QI): Ditto.
(QI_FTYPE_V2DI_V2DI_QI): Ditto.
(QI_FTYPE_V2DI_V2DI_INT_QI): Ditto.
(QI_FTYPE_V4DI_V4DI_QI): Ditto.
(QI_FTYPE_V4DI_V4DI_INT_QI): Ditto.
(QI_FTYPE_V8DI_V8DI_QI): Ditto.
(HI_FTYPE_V16SI_V16SI_HI): Ditto.
(QI_FTYPE_V8DI_V8DI_INT): Ditto.
(QI_FTYPE_V8DI_V8DI_INT_QI): Ditto.
(HI_FTYPE_V16SI_V16SI_INT): Ditto.
(HI_FTYPE_V16SI_V16SI_INT _HI): Ditto.
(QI_FTYPE_V8DF_V8DF_INT): Ditto.
(QI_FTYPE_V8DF_V8DF_INT_QI_INT): Ditto.
(HI_FTYPE_V16SF_V16SF_INT): Ditto.
(HI_FTYPE_V16SF_V16SF_INT_HI_INT): Ditto.
(QI_FTYPE_V2DF_V2DF_INT): Ditto.
(QI_FTYPE_V2DF_V2DF_INT_QI): Ditto.
(QI_FTYPE_V2DF_V2DF_INT_QI_INT): Ditto.
(QI_FTYPE_V4SF_V4SF_INT): Ditto.
(QI_FTYPE_V4SF_V4SF_INT_QI): Ditto.
(QI_FTYPE_V4SF_V4SF_INT_QI_INT): Ditto.
(V16SI_FTYPE_HI): Ditto.
(V8DI_FTYPE_QI): Ditto.
(V2DF_FTYPE_V2DI_V2DF_V2DF_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DI_V2DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V2DF_INT_V4DF_QI): Ditto.
(V4SF_FTYPE_V4SI_V4SF_V4SF_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SI_V4SF_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_V4SF_QI): Ditto.
(V8SF_FTYPE_V8SF_V4SF_INT_V8SF_QI): Ditto.
(V8SI_FTYPE_V8SI_V4SI_INT_V8SI_QI): Ditto.
(V4DI_FTYPE_V4DI_V2DI_INT_V4DI_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_QI): Ditto.
(V2DF_FTYPE_V4SF_V2DF_QI): Ditto.
(V2DF_FTYPE_V4SI_V2DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_QI): Ditto.
(V4DF_FTYPE_V4SF_V4DF_QI): Ditto.
(V4DF_FTYPE_V4SI_V4DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_QI): Ditto.
(V8DF_FTYPE_V8SI_V8DF_QI): Ditto.
(V2DI_FTYPE_V4SI_V2DI_QI): Ditto.
(V2DI_FTYPE_V8HI_V2DI_QI): Ditto.
(V4DI_FTYPE_V4DF_V4DI_QI): Ditto.
(V2DI_FTYPE_V2DF_V2DI_QI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_V2DI_QI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_INT_V2DI_QI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_V4DI_QI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_INT_V4DI_QI): Ditto.
(V8DI_FTYPE_V8SI_V8DI_QI): Ditto.
(V8DI_FTYPE_V8HI_V8DI_QI): Ditto.
(V8DI_FTYPE_V16QI_V8DI_QI): Ditto.
(V2DI_FTYPE_V16QI_V2DI_QI): Ditto.
(V4DI_FTYPE_V16QI_V4DI_QI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_QI): Ditto.
(V4DI_FTYPE_V4SI_V4DI_QI): Ditto.
(V4DI_FTYPE_V8HI_V4DI_QI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_V8DI_QI): Ditto.
(V8DF_FTYPE_V8DI_V8DF_V8DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DI_V8DF_QI): Ditto.
(V4DF_FTYPE_V4DI_V4DF_V4DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DI_V4DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_V4DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_V8DF_QI): Ditto.
(V16QI_FTYPE_V16QI_V16QI_V16QI_HI): Ditto.
(V16HI_FTYPE_V16HI_V16HI_V16HI_HI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_V16SI_HI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_V2DF_QI): Ditto.
(V32HI_FTYPE_V32HI_V32HI_V32HI_SI): Ditto.
(V64QI_FTYPE_V64QI_V64QI_V64QI_DI): Ditto.
(V32QI_FTYPE_V32QI_V32QI_V32QI_SI): Ditto.
(V8HI_FTYPE_V8HI_V8HI_V8HI_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_QI): Ditto.
(V4SF_FTYPE_V4SI_V4SF_QI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_QI): Ditto.
(V8SF_FTYPE_V8SI_V8SF_QI): Ditto.
(V16SF_FTYPE_V16SF_V16SF_HI): Ditto.
(V4SI_FTYPE_V16QI_V4SI_QI): Ditto.
(V4SI_FTYPE_V8HI_V4SI_QI): Ditto.
(V8SI_FTYPE_V8SI_V8SI_QI): Ditto.
(V8SI_FTYPE_V8HI_V8SI_QI): Ditto.
(V8SI_FTYPE_V16QI_V8SI_QI): Ditto.
(V4SI_FTYPE_V4SI_V4SI_V4SI_QI): Ditto.
(V4SI_FTYPE_V4SI_V4SI_INT_V4SI_QI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_V8SF_QI): Ditto.
(V8SF_FTYPE_V8SI_V8SF_V8SF_QI): Ditto.
(V8SF_FTYPE_V8SF_V8SI_V8SF_QI): Ditto.
(V8SI_FTYPE_V8SI_V8SI_V8SI_QI): Ditto.
(V8SI_FTYPE_V8SI_V8SI_INT_V8SI_QI): Ditto.
(V16SF_FTYPE_V16SF_V16SF_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SI_V16SF_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SF_V16SI_V16SF_HI): Ditto.
(V16SF_FTYPE_V8SF_V16SF_HI): Ditto.
(V16SF_FTYPE_V4SF_V16SF_HI): Ditto.
(V8DF_FTYPE_V4DF_V8DF_QI): Ditto.
(V8DF_FTYPE_V2DF_V8DF_QI): Ditto.
(V16SI_FTYPE_V8SI_V16SI_HI): Ditto.
(V16SI_FTYPE_V4SI_V16SI_HI): Ditto.
(V16SI_FTYPE_SI_V16SI_HI): Ditto.
(V16SI_FTYPE_V16HI_V16SI_HI): Ditto.
(V16SI_FTYPE_V16QI_V16SI_HI): Ditto.
(V8DI_FTYPE_V4DI_V8DI_QI): Ditto.
(V4SI_FTYPE_V4DF_V4SI_QI): Ditto.
(V8DI_FTYPE_V2DI_V8DI_QI): Ditto.
(V8DI_FTYPE_DI_V8DI_QI): Ditto.
(V16QI_FTYPE_V16SI_V16QI_HI): Ditto.
(V16QI_FTYPE_V8DI_V16QI_QI): Ditto.
(V32HI_FTYPE_V32HI_V32HI_SI): Ditto.
(V32HI_FTYPE_V32QI_V32HI_SI): Ditto.
(V16HI_FTYPE_V16HI_V16HI_HI): Ditto.
(V16HI_FTYPE_V16QI_V16HI_HI): Ditto.
(V8HI_FTYPE_V16QI_V8HI_QI): Ditto.
(V8SF_FTYPE_V4SF_V8SF_QI): Ditto.
(V4DF_FTYPE_V2DF_V4DF_QI): Ditto.
(V8SI_FTYPE_V4SI_V8SI_QI): Ditto.
(V8SI_FTYPE_SI_V8SI_QI): Ditto.
(V4SI_FTYPE_V4SI_V4SI_QI): Ditto.
(V4SI_FTYPE_SI_V4SI_QI): Ditto.
(V4DI_FTYPE_V2DI_V4DI_QI): Ditto.
(V4DI_FTYPE_DI_V4DI_QI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_QI): Ditto.
(V2DI_FTYPE_DI_V2DI_QI): Ditto.
(V64QI_FTYPE_V64QI_V64QI_DI): Ditto.
(V64QI_FTYPE_V16QI_V64QI_DI): Ditto.
(V64QI_FTYPE_QI_V64QI_DI): Ditto.
(V32QI_FTYPE_V32QI_V32QI_SI): Ditto.
(V32QI_FTYPE_V16QI_V32QI_SI): Ditto.
(V32QI_FTYPE_QI_V32QI_SI): Ditto.
(V16QI_FTYPE_V16QI_V16QI_HI): Ditto.
(V16QI_FTYPE_QI_V16QI_HI): Ditto.
(V32HI_FTYPE_V8HI_V32HI_SI): Ditto.
(V32HI_FTYPE_HI_V32HI_SI): Ditto.
(V16HI_FTYPE_V8HI_V16HI_HI): Ditto.
(V16HI_FTYPE_HI_V16HI_HI): Ditto.
(V8HI_FTYPE_V8HI_V8HI_QI): Ditto.
(V8HI_FTYPE_HI_V8HI_QI): Ditto.
(V64QI_FTYPE_PCV64QI_V64QI_DI): Ditto.
(V32HI_FTYPE_PCV32HI_V32HI_SI): Ditto.
(V32QI_FTYPE_PCV32QI_V32QI_SI): Ditto.
(V16SF_FTYPE_PCV16SF_V16SF_HI): Ditto.
(V8DF_FTYPE_PCV8DF_V8DF_QI): Ditto.
(V16SI_FTYPE_PCV16SI_V16SI_HI): Ditto.
(V16HI_FTYPE_PCV16HI_V16HI_HI): Ditto.
(V16QI_FTYPE_PCV16QI_V16QI_HI): Ditto.
(V8SF_FTYPE_PCV8SF_V8SF_QI): Ditto.
(V8DI_FTYPE_PCV8DI_V8DI_QI): Ditto.
(V8SI_FTYPE_PCV8SI_V8SI_QI): Ditto.
(V8HI_FTYPE_PCV8HI_V8HI_QI): Ditto.
(V4DF_FTYPE_PCV4DF_V4DF_QI): Ditto.
(V4SF_FTYPE_PCV4SF_V4SF_QI): Ditto.
(V4DI_FTYPE_PCV4DI_V4DI_QI): Ditto.
(V4SI_FTYPE_PCV4SI_V4SI_QI): Ditto.
(V2DF_FTYPE_PCV2DF_V2DF_QI): Ditto.
(V2DI_FTYPE_PCV2DI_V2DI_QI): Ditto.
(V16HI_FTYPE_V16SI_V16HI_HI): Ditto.
(V8SI_FTYPE_V8DI_V8SI_QI): Ditto.
(V8HI_FTYPE_V8DI_V8HI_QI): Ditto.
(V16QI_FTYPE_V8HI_V16QI_QI): Ditto.
(V16QI_FTYPE_V16HI_V16QI_HI): Ditto.
(V16QI_FTYPE_V4SI_V16QI_QI): Ditto.
(V16QI_FTYPE_V8SI_V16QI_QI): Ditto.
(V8HI_FTYPE_V4SI_V8HI_QI): Ditto.
(V8HI_FTYPE_V8SI_V8HI_QI): Ditto.
(V16QI_FTYPE_V2DI_V16QI_QI): Ditto.
(V16QI_FTYPE_V4DI_V16QI_QI): Ditto.
(V8HI_FTYPE_V2DI_V8HI_QI): Ditto.
(V8HI_FTYPE_V4DI_V8HI_QI): Ditto.
(V4SI_FTYPE_V2DI_V4SI_QI): Ditto.
(V4SI_FTYPE_V4DI_V4SI_QI): Ditto.
(V32QI_FTYPE_V32HI_V32QI_SI): Ditto.
(V2DF_FTYPE_V2DF_INT_V2DF_QI): Ditto.
(V4DF_FTYPE_V4DF_INT_V4DF_QI): Ditto.
(V4SF_FTYPE_V4SF_INT_V4SF_QI): Ditto.
(V8SF_FTYPE_V8SF_INT_V8SF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_INT_V4DF_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_INT_V8SF_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI): Ditto.
(VOID_FTYPE_PV8DF_V8DF_QI): Ditto.
(VOID_FTYPE_PV8SI_V8DI_QI): Ditto.
(VOID_FTYPE_PV8HI_V8DI_QI): Ditto.
(VOID_FTYPE_PV8HI_V4DI_QI): Ditto.
(VOID_FTYPE_PV8HI_V2DI_QI): Ditto.
(VOID_FTYPE_PV4SI_V4DI_QI): Ditto.
(VOID_FTYPE_PV4SI_V2DI_QI): Ditto.
(VOID_FTYPE_PV8HI_V8SI_QI): Ditto.
(VOID_FTYPE_PV8HI_V4SI_QI): Ditto.
(VOID_FTYPE_PV4DF_V4DF_QI): Ditto.
(VOID_FTYPE_PV2DF_V2DF_QI): Ditto.
(VOID_FTYPE_PV16SF_V16SF_HI): Ditto.
(VOID_FTYPE_PV8SF_V8SF_QI): Ditto.
(VOID_FTYPE_PV4SF_V4SF_QI): Ditto.
(VOID_FTYPE_PV8DI_V8DI_QI): Ditto.
(VOID_FTYPE_PV4DI_V4DI_QI): Ditto.
(VOID_FTYPE_PV2DI_V2DI_QI): Ditto.
(VOID_FTYPE_PV16SI_V16SI_HI): Ditto.
(VOID_FTYPE_PV16HI_V16SI_HI): Ditto.
(VOID_FTYPE_PV16QI_V16SI_HI): Ditto.
(VOID_FTYPE_PV16QI_V8SI_QI): Ditto.
(VOID_FTYPE_PV16QI_V4SI_QI): Ditto.
(VOID_FTYPE_PV16QI_V8DI_QI): Ditto.
(VOID_FTYPE_PV16QI_V4DI_QI): Ditto.
(VOID_FTYPE_PV16QI_V2DI_QI): Ditto.
(VOID_FTYPE_PV8SI_V8SI_QI): Ditto.
(VOID_FTYPE_PV4SI_V4SI_QI): Ditto.
(VOID_FTYPE_PV32HI_V32HI_SI): Ditto.
(VOID_FTYPE_PV16HI_V16HI_HI): Ditto.
(VOID_FTYPE_PV8HI_V8HI_QI): Ditto.
(VOID_FTYPE_PV64QI_V64QI_DI): Ditto.
(VOID_FTYPE_PV32QI_V32QI_SI): Ditto.
(VOID_FTYPE_PV16QI_V16QI_HI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_V8DI_INT_QI): Ditto.
(V8SI_FTYPE_V8SF_V8SI_QI): Ditto.
(V4SI_FTYPE_V4SF_V4SI_QI): Ditto.
(V4DI_FTYPE_V4SF_V4DI_QI): Ditto.
(V2DI_FTYPE_V4SF_V2DI_QI): Ditto.
(V4SF_FTYPE_V4DI_V4SF_QI): Ditto.
(V4SF_FTYPE_V2DI_V4SF_QI): Ditto.
(V4DF_FTYPE_V4DI_V4DF_QI): Ditto.
(V2DF_FTYPE_V2DI_V2DF_QI): Ditto.
(V32HI_FTYPE_V32HI_INT_V32HI_SI): Ditto.
(V32HI_FTYPE_V32HI_V8HI_V32HI_SI): Ditto.
(V16HI_FTYPE_V16HI_INT_V16HI_HI): Ditto.
(V16HI_FTYPE_V16HI_V8HI_V16HI_HI): Ditto.
(V8HI_FTYPE_V8HI_INT_V8HI_QI): Ditto.
(V32HI_FTYPE_V64QI_V64QI_INT_V32HI_SI): Ditto.
(V16HI_FTYPE_V32QI_V32QI_INT_V16HI_HI): Ditto.
(V8HI_FTYPE_V16QI_V16QI_INT_V8HI_QI): Ditto.
(V64QI_FTYPE_V32HI_V32HI_V64QI_DI): Ditto.
(V32QI_FTYPE_V16HI_V16HI_V32QI_SI): Ditto.
(V16QI_FTYPE_V8HI_V8HI_V16QI_HI): Ditto.
(V32HI_FTYPE_V16SI_V16SI_V32HI_SI): Ditto.
(V16HI_FTYPE_V8SI_V8SI_V16HI_HI): Ditto.
(V8HI_FTYPE_V4SI_V4SI_V8HI_QI): Ditto.
(V8DI_FTYPE_V16SI_V16SI_V8DI_QI): Ditto.
(V4DI_FTYPE_V8SI_V8SI_V4DI_QI): Ditto.
(V2DI_FTYPE_V4SI_V4SI_V2DI_QI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_V16SI_INT_HI): Ditto.
(V8SI_FTYPE_V8SI_V8SI_V8SI_INT_QI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_V4DI_INT_QI): Ditto.
(V4SI_FTYPE_V4SI_V4SI_V4SI_INT_QI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_V2DI_INT_QI): Ditto.
(V8SI_FTYPE_V8SI_V4SI_V8SI_QI): Ditto.
(V4DI_FTYPE_V4DI_V2DI_V4DI_QI): Ditto.
(QI_FTYPE_V4DF_V4DF_INT_QI): Ditto.
(QI_FTYPE_V8SF_V8SF_INT_QI): Ditto.
(QI_FTYPE_V8DF_INT_QI): Ditto.
(QI_FTYPE_V4DF_INT_QI): Ditto.
(QI_FTYPE_V2DF_INT_QI): Ditto.
(HI_FTYPE_V16SF_INT_HI): Ditto.
(QI_FTYPE_V8SF_INT_QI): Ditto.
(QI_FTYPE_V4SF_INT_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_V8DF_QI_INT): Ditto.

From-SVN: r226431

9 years agogimple-fold.c (fold_gimple_assign): Remove folding of GIMPLE_BINARY_RHS.
Richard Biener [Fri, 31 Jul 2015 07:29:55 +0000 (07:29 +0000)]
gimple-fold.c (fold_gimple_assign): Remove folding of GIMPLE_BINARY_RHS.

2015-07-31  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (fold_gimple_assign): Remove folding of
GIMPLE_BINARY_RHS.

From-SVN: r226429

9 years agogo-lang.c (go_langhook_init_options_struct): Don't set x_flag_split_stack.
Andreas Schwab [Fri, 31 Jul 2015 07:08:20 +0000 (07:08 +0000)]
go-lang.c (go_langhook_init_options_struct): Don't set x_flag_split_stack.

* go-lang.c (go_langhook_init_options_struct): Don't set
x_flag_split_stack.
(go_langhook_post_options): Set it here instead.

From-SVN: r226428

9 years agoDon't cancel loop tree in parloops
Tom de Vries [Fri, 31 Jul 2015 06:26:44 +0000 (06:26 +0000)]
Don't cancel loop tree in parloops

2015-07-31  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/66846
* omp-low.c (expand_omp_taskreg) [ENABLE_CHECKING]: Call
verify_loop_structure for child_cfun if !LOOPS_NEED_FIXUP.
(expand_omp_target) [ENABLE_CHECKING]: Same.
(execute_expand_omp) [ENABLE_CHECKING]: Call verify_loop_structure for
cfun if !LOOPS_NEED_FIXUP.
(expand_omp_for_static_nochunk): Handle simple latch bb.  Handle case
that omp_for already has its own loop struct.
* tree-parloops.c (create_phi_for_local_result)
(create_call_for_reduction): Handle simple latch bb.
(create_parallel_loop): Add simple latch bb to preserve
LOOPS_HAVE_SIMPLE_LATCHES.  Record new exit.  Handle simple latch bb.
(gen_parallel_loop): Remove call to cancel_loop_tree.
(parallelize_loops): Skip loops that are inner loops of parallelized
loops.
(pass_parallelize_loops::execute) [ENABLE_CHECKING]: Call
verify_loop_structure.

From-SVN: r226427

9 years ago* sv.po: Update.
Joseph Myers [Fri, 31 Jul 2015 00:49:18 +0000 (01:49 +0100)]
* sv.po: Update.

From-SVN: r226425

9 years ago* sv.po: Update.
Joseph Myers [Fri, 31 Jul 2015 00:48:04 +0000 (01:48 +0100)]
* sv.po: Update.

From-SVN: r226423

9 years agoDaily bump.
GCC Administrator [Fri, 31 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226422

9 years ago[V850] Hookize LIBCALL_VALUE
Anatoly Sokolov [Thu, 30 Jul 2015 21:36:18 +0000 (00:36 +0300)]
[V850] Hookize LIBCALL_VALUE

From-SVN: r226418

9 years agoUse lowpart_subreg instead of simplify_gen_subreg
Anatoly Sokolov [Thu, 30 Jul 2015 21:25:29 +0000 (00:25 +0300)]
Use lowpart_subreg instead of simplify_gen_subreg

From-SVN: r226417

9 years agoc-pretty-print.c (unary_expression): Don't print '*' for reference decay.
Jason Merrill [Thu, 30 Jul 2015 19:16:23 +0000 (15:16 -0400)]
c-pretty-print.c (unary_expression): Don't print '*' for reference decay.

* c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
'*' for reference decay.

From-SVN: r226410

9 years ago* gcc.target/i386/pr66648.c: Move to correct place.
Uros Bizjak [Thu, 30 Jul 2015 16:13:02 +0000 (18:13 +0200)]
* gcc.target/i386/pr66648.c: Move to correct place.

From-SVN: r226409

9 years ago[AArch64] Removed unused VRL2/3/4 iterator values
Alan Lawrence [Thu, 30 Jul 2015 16:04:08 +0000 (16:04 +0000)]
[AArch64] Removed unused VRL2/3/4 iterator values

* config/aarch64/iterators.md (VRL2, VRL3, VRL4): Remove values for
128-bit vector modes.

From-SVN: r226408

9 years agobuiltins.c (HAVE_atomic_clear, [...]): Delete.
Richard Sandiford [Thu, 30 Jul 2015 13:22:56 +0000 (13:22 +0000)]
builtins.c (HAVE_atomic_clear, [...]): Delete.

gcc/
* builtins.c (HAVE_atomic_clear, gen_atomic_clear): Delete.
(expand_builtin_atomic_clear): Remove support for atomic_clear
pattern.

From-SVN: r226405

9 years agogimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison binaries.
Richard Biener [Thu, 30 Jul 2015 13:11:41 +0000 (13:11 +0000)]
gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison binaries.

2015-07-30  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison
binaries.  Move X == 0, X == 1, X != 0, and X != 1 canonicalization ...
(fold_stmt_1): ... here and work on GIMPLE directly.  Remove
redundant operand canonicalization.

From-SVN: r226404

9 years agoaarch64-simd.md (aarch64_ext<mode>): Replace call to GET_MODE_SIZE (GET_MODE_INNER...
David Sherwood [Thu, 30 Jul 2015 13:06:25 +0000 (13:06 +0000)]
aarch64-simd.md (aarch64_ext<mode>): Replace call to GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m).

gcc/
2015-07-30  David Sherwood  <david.sherwood@arm.com>

* config/aarch64/aarch64-simd.md (aarch64_ext<mode>): Replace call to
GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m).
* config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Likewise.
* config/arm/arm.c (neon_valid_immediate): Likewise.
* config/i386/i386.c (classify_argument, ix86_expand_int_vcond)
(expand_vec_perm_blend, expand_vec_perm_pshufb): Likewise.
(expand_vec_perm_pshufb2, expand_vec_perm_vpshufb2_vpermq): Likewise.
(expand_vec_perm_vpshufb2_vpermq): Likewise.
(expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise.
(expand_vec_perm_vpshufb4_vpermq2): Likewise.
* config/i386/sse.md
(<extract_type>_vinsert<shuffletype><extract_suf>_mask): Likewise.
(*ssse3_palignr<mode>_perm): Likewise.
* config/rs6000/rs6000.c (rs6000_complex_function_value): Likewise.
* config/spu/spu.c (arith_immediate_p): Likewise.
* simplify-rtx.c (simplify_const_unary_operation): Likewise.
(simplify_binary_operation_1, simplify_ternary_operation): Likewise.

From-SVN: r226403

9 years agocurrent_path.cc: Use canonical paths for comparisons.
Jonathan Wakely [Thu, 30 Jul 2015 12:41:33 +0000 (13:41 +0100)]
current_path.cc: Use canonical paths for comparisons.

* testsuite/experimental/filesystem/operations/current_path.cc: Use
canonical paths for comparisons.

From-SVN: r226402

9 years agogenmatch.c (decision_tree::gen_gimple): Merge with ...
Richard Biener [Thu, 30 Jul 2015 11:20:21 +0000 (11:20 +0000)]
genmatch.c (decision_tree::gen_gimple): Merge with ...

2015-07-30  Richard Biener  <rguenther@suse.de>

* genmatch.c (decision_tree::gen_gimple): Merge with ...
(decision_tree::gen_generic): ... this into ...
(decision_tree::gen): ... this.
(main): Adjust callers.

From-SVN: r226396

9 years agoregex_automaton.h (_State_base, _State<>): Remove _TraitsT dependency from _State...
Tim Shen [Thu, 30 Jul 2015 10:35:45 +0000 (10:35 +0000)]
regex_automaton.h (_State_base, _State<>): Remove _TraitsT dependency from _State<>...

* include/bits/regex_automaton.h (_State_base, _State<>):
Remove _TraitsT dependency from _State<>; Make matcher member
into the union to reduce struct size.
* include/bits/regex_automaton.tcc (_State_base<>::_M_print,
_State_base<>::_M_dot, _StateSeq<>::_M_clone):
Adjust to fit the interface. Factor out common parts in
_M_clone as _State<>::_M_has_alt.
* include/bits/regex_executor.h (_Executer<>::_M_lookahead):
Only pass state id instead of the whole state.
* include/bits/regex_executor.tcc (_Executer<>::_M_dfs,
_Executer<>::_M_lookahead): Adjust to fit the interface.
* include/std/regex: Include <ext/aligned_buffer.h>

From-SVN: r226395

9 years agoclass.c (check_for_override): Use DECL_SOURCE_LOCATION and "%qD" in warning_at instea...
Paolo Carlini [Thu, 30 Jul 2015 10:24:46 +0000 (10:24 +0000)]
class.c (check_for_override): Use DECL_SOURCE_LOCATION and "%qD" in warning_at instead of "%q+D" in warning.

2015-07-30  Paolo Carlini  <paolo.carlini@oracle.com>

* class.c (check_for_override): Use DECL_SOURCE_LOCATION and "%qD"
in warning_at instead of "%q+D" in warning.
(warn_hidden): Likewise but use location_of.
(finish_struct_anon_r): Likewise use DECL_SOURCE_LOCATION in permerror.
(check_bitfield_decl, check_field_decls): Likewise in warning_at.
(check_field_decls): Likewise for permerror.
(explain_non_literal_class): Likewise for inform.
(check_bases_and_members, layout_class_type): Likewise for warning_at.
(note_name_declared_in_class): Use location_of in permerror.
* name-lookup.c (diagnose_name_conflict): Use location_of in inform.
(pushdecl_maybe_friend_1): Use DECL_SOURCE_LOCATION in pedwarn,
inform, and warning_at.
(check_for_out_of_scope_variable): Likewise for warning_at and
permerror.

From-SVN: r226394

9 years agoany (any::operator=(const any&)): Check for self-assignment.
Jonathan Wakely [Thu, 30 Jul 2015 10:00:39 +0000 (11:00 +0100)]
any (any::operator=(const any&)): Check for self-assignment.

* include/experimental/any (any::operator=(const any&)): Check for
self-assignment.
* testsuite/experimental/any/assign/self.cc: New.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.

From-SVN: r226393

9 years agoc-common.c (warn_tautological_cmp): Bail for float types.
Marek Polacek [Thu, 30 Jul 2015 08:31:59 +0000 (08:31 +0000)]
c-common.c (warn_tautological_cmp): Bail for float types.

* c-common.c (warn_tautological_cmp): Bail for float types.

* c-c++-common/Wtautological-compare-3.c: New test.

From-SVN: r226388

9 years agogenmatch.c (verbose): New global.
Richard Biener [Thu, 30 Jul 2015 07:56:23 +0000 (07:56 +0000)]
genmatch.c (verbose): New global.

2015-07-30  Richard Biener  <rguenther@suse.de>

* genmatch.c (verbose): New global.
(warning_at): Add overload with source_location.
(capture_info::capture_info): Add bool whether generating gimple
or generic.  Add gimple member.
(capture_info::cinfo): Add capture member.
(capture_info::walk_match): Record capture.  Warn on
non-captured leafs.
(capture_info::walk_c_expr): Add more fragments captures cannot
escape through.  Warn on escaped captures.
(dt_simplify::gen_1): Warn on operands we force to have no
side-effects.
(main): Initialize verbose.
* match.pd: Add integer_nonzerop and HONOR_NANS predicates.

From-SVN: r226386

9 years agore PR middle-end/67053 (FAIL: experimental/optional/constexpr/make_optional.cc)
Richard Biener [Thu, 30 Jul 2015 07:09:20 +0000 (07:09 +0000)]
re PR middle-end/67053 (FAIL: experimental/optional/constexpr/make_optional.cc)

2015-07-30  Richard Biener  <rguenther@suse.de>

PR middle-end/67053
* match.pd: Allow both operands to independently have conversion
when simplifying compares of addresses.

From-SVN: r226384

9 years agoDR 1558 PR c++/67021
Jason Merrill [Thu, 30 Jul 2015 05:27:34 +0000 (01:27 -0400)]
DR 1558 PR c++/67021

DR 1558
PR c++/67021
* pt.c (tsubst_decl) [TYPE_DECL]: Clear TYPE_DEPENDENT_P_VALID.

From-SVN: r226381

9 years agore PR target/66217 (PowerPC rotate/shift/mask instructions not optimal)
Segher Boessenkool [Thu, 30 Jul 2015 02:34:09 +0000 (04:34 +0200)]
re PR target/66217 (PowerPC rotate/shift/mask instructions not optimal)

PR target/66217
PR target/67045
* config/rs6000/rs6000.md (and<mode>3): Put a CONST_INT_P check
around those cases that need one.

From-SVN: r226378

9 years agoDaily bump.
GCC Administrator [Thu, 30 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226377

9 years agosyscall: Fix to libgo/mksysinfo.sh
Ian Lance Taylor [Wed, 29 Jul 2015 21:42:30 +0000 (21:42 +0000)]
syscall:  Fix to libgo/mksysinfo.sh

    In a recent change to mksysinfo.sh, a space was missing on
    some lines which caused the libgo build to hang on some
    systems.  This corrects that problem.

    Fixes golang/go#11924

    Reviewed-on: https://go-review.googlesource.com/12835

From-SVN: r226366

9 years ago[graphite] reduce the number of params in a scop to 3
Aditya Kumar [Wed, 29 Jul 2015 21:28:27 +0000 (21:28 +0000)]
[graphite] reduce the number of params in a scop to 3

* params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Default to 3.

From-SVN: r226365

9 years agoDefine DBX_REGISTER_NUMBER for IA MCU
H.J. Lu [Wed, 29 Jul 2015 21:06:23 +0000 (21:06 +0000)]
Define DBX_REGISTER_NUMBER for IA MCU

Since IA MCU uses the same debug register map as Linux/x86, we copy
DBX_REGISTER_NUMBER together with TARGET_ASM_FILE_START_FILE_DIRECTIVE
and ASM_COMMENT_START from i386/gnu-user.h to i386/iamcu.h.

* config/i386/iamcu.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE):
New.  Copied from config/i386/gnu-user.h.
(ASM_COMMENT_START): Likewise.
(DBX_REGISTER_NUMBER): Likewise.

From-SVN: r226363

9 years agoFix whitespace in my MAINTAINERS change commit.
Ville Voutilainen [Wed, 29 Jul 2015 19:17:47 +0000 (22:17 +0300)]
Fix whitespace in my MAINTAINERS change commit.

* MAINTAINERS (Write After Approval): Add a blank line.

From-SVN: r226361

9 years ago* MAINTAINERS (Write After Approval): Add myself.
Ville Voutilainen [Wed, 29 Jul 2015 17:20:23 +0000 (20:20 +0300)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r226358

9 years agore PR libfortran/66650 (libgfortran: warning: left shift of negative value [-Wshift...
Uros Bizjak [Wed, 29 Jul 2015 15:42:03 +0000 (17:42 +0200)]
re PR libfortran/66650 (libgfortran: warning: left shift of negative value [-Wshift-negative-value])

PR libgfortran/66650
* libgfortran.h (GFC_DTYPE_SIZE_MASK): Rewrite to avoid
"left shift of negative value" warning.

From-SVN: r226355

9 years agore PR libstdc++/66829 (FAIL: 23_containers/multiset/modifiers/erase/dr130-linkage...
Jonathan Wakely [Wed, 29 Jul 2015 14:56:11 +0000 (15:56 +0100)]
re PR libstdc++/66829 (FAIL: 23_containers/multiset/modifiers/erase/dr130-linkage-check.cc)

PR libstdc++/66829
* testsuite/lib/libstdc++.exp (v3-build_support): Compile
testsuite_shared.cc with -std=gnu++98.

From-SVN: r226354

9 years ago[AArch64 Testsuite] vld1_lane.c: Remove unused test data
Alan Lawrence [Wed, 29 Jul 2015 14:27:21 +0000 (14:27 +0000)]
[AArch64 Testsuite] vld1_lane.c: Remove unused test data

(taken from [AArch64] Add support for float14x{4,8}_t vectors/builtins)

        * gcc.target/aarch64/vld1_lane.c (main): Remove unused test data.
        (CHECK): Pass address of scalar, rather than array.

From-SVN: r226353

9 years ago[AArch64 Testsuite] vld1-vst1_1.c: Add missing float32x4_t case
Alan Lawrence [Wed, 29 Jul 2015 14:21:19 +0000 (14:21 +0000)]
[AArch64 Testsuite] vld1-vst1_1.c: Add missing float32x4_t case

(taken from [AArch64] Add support for float14x{4,8}_t vectors/builtins)

        * gcc.target/aarch64/vld1-vst1_1.c: Add missing float32x4_t case.

From-SVN: r226352

9 years agogimple-fold.c (fold_gimple_cond): Remove.
Richard Biener [Wed, 29 Jul 2015 14:17:49 +0000 (14:17 +0000)]
gimple-fold.c (fold_gimple_cond): Remove.

2015-07-29  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (fold_gimple_cond): Remove.
(fold_stmt_1): Do not call it.

From-SVN: r226351

9 years ago[ARM/AArch64 Testsuite] Add basic fp16 tests
Alan Lawrence [Wed, 29 Jul 2015 13:28:54 +0000 (13:28 +0000)]
[ARM/AArch64 Testsuite] Add basic fp16 tests

* gcc.target/aarch64/fp16/fp16.exp: New.
* gcc.target/aarch64/fp16/f16_convs_1.c: New.
* gcc.target/aarch64/fp16/f16_convs_2.c: New.

From-SVN: r226350

9 years ago* testsuite/24_iterators/container_access.cc: New.
Jonathan Wakely [Wed, 29 Jul 2015 12:55:58 +0000 (13:55 +0100)]
* testsuite/24_iterators/container_access.cc: New.

From-SVN: r226349

9 years agorange_access.h: Change class to typename in every template.
Ville Voutilainen [Wed, 29 Jul 2015 12:41:32 +0000 (15:41 +0300)]
range_access.h: Change class to typename in every template.

2015-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>

* include/bits/range_access.h: Change class to typename in every
template.
(size, empty, data): New functions from N4280.
* testsuite/24_iterators/container_access.cc: New.

From-SVN: r226348

9 years agore PR libstdc++/60970 (Support std::hash with enum types (LWG 2148))
Ville Voutilainen [Wed, 29 Jul 2015 12:41:23 +0000 (15:41 +0300)]
re PR libstdc++/60970 (Support std::hash with enum types (LWG 2148))

2015-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>

PR libstdc++/60970
* include/bits/functional_hash.h (__hash_enum): New.
(hash): Derive from __hash_enum.
* testsuite/20_util/hash/60970.cc: New.

From-SVN: r226347

9 years ago[AArch64] Add basic FP16 support
Alan Lawrence [Wed, 29 Jul 2015 12:27:05 +0000 (12:27 +0000)]
[AArch64] Add basic FP16 support

gcc/:

* config/aarch64/aarch64-builtins.c (aarch64_fp16_type_node): New.
(aarch64_init_builtins): Make aarch64_fp16_type_node, use for __fp16.

* config/aarch64/aarch64-modes.def: Add HFmode.

* config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
__ARM_FP16_FORMAT_IEEE and __ARM_FP16_ARGS. Set bit 1 of __ARM_FP.

* config/aarch64/aarch64.c (aarch64_init_libfuncs,
aarch64_promoted_type): New.

(aarch64_float_const_representable_p): Disable HFmode.
(aarch64_mangle_type): Mangle half-precision floats to "Dh".
(TARGET_PROMOTED_TYPE): Define to aarch64_promoted_type.
(TARGET_INIT_LIBFUNCS): Define to aarch64_init_libfuncs.

* config/aarch64/aarch64.md (mov<mode>): Include HFmode using GPF_F16.
(movhf_aarch64, extendhfsf2, extendhfdf2, truncsfhf2, truncdfhf2): New.

* config/aarch64/iterators.md (GPF_F16): New.

gcc/testsuite/:

* gcc.target/aarch64/f16_movs_1.c: New test.

From-SVN: r226346

9 years agomatch.pd: Merge address comparison patterns and make them handle some more cases.
Richard Biener [Wed, 29 Jul 2015 12:14:08 +0000 (12:14 +0000)]
match.pd: Merge address comparison patterns and make them handle some more cases.

2015-07-29  Richard Biener  <rguenther@suse.de>

* match.pd: Merge address comparison patterns and make them
handle some more cases.

From-SVN: r226345

9 years agogenmatch.c (c_expr::gen_transform): Error on unknown captures.
Richard Biener [Wed, 29 Jul 2015 12:06:14 +0000 (12:06 +0000)]
genmatch.c (c_expr::gen_transform): Error on unknown captures.

2015-07-29  Richard Biener  <rguenther@suse.de>

* genmatch.c (c_expr::gen_transform): Error on unknown captures.
(parser::parse_capture): Add bool argument on whether to reject
unknown captures.
(parser::parse_expr): Adjust.
(parser::parse_op): Likewise.
(parser::parse_pattern): Likewise.

From-SVN: r226344

9 years agogimple-fold.c (has_use_on_stmt): New function.
Richard Biener [Wed, 29 Jul 2015 07:48:10 +0000 (07:48 +0000)]
gimple-fold.c (has_use_on_stmt): New function.

2015-07-29  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (has_use_on_stmt): New function.
(replace_stmt_with_simplification): Use it to allow
abnormals originally referenced in the stmt.
(fold_stmt_1): Canonicalize operand order.

From-SVN: r226339

9 years agoUse fast unwinder for PowerPC
Markus Trippelsdorf [Wed, 29 Jul 2015 06:32:09 +0000 (06:32 +0000)]
Use fast unwinder for PowerPC

2015-07-29  Markus Trippelsdorf  <markus@trippelsdorf.de>

PR sanitizer/63927
* sanitizer_common/sanitizer_stacktrace.h: Use fast unwinder
for PowerPC.

From-SVN: r226338

9 years agore PR libstdc++/67015 ("^[a-z0-9][a-z0-9-]*$", std::regex::extended is miscompiled)
Tim Shen [Wed, 29 Jul 2015 03:45:35 +0000 (03:45 +0000)]
re PR libstdc++/67015 ("^[a-z0-9][a-z0-9-]*$", std::regex::extended is miscompiled)

PR libstdc++/67015
* include/bits/regex_compiler.h (_Compiler<>::_M_expression_term,
_BracketMatcher<>::_M_add_collating_element): Change signature
to make checking the and of bracket expression easier.
* include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term):
Treat '-' as a valid literal if it's at the end of bracket expression.
* testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
New testcases.

From-SVN: r226336

9 years agore PR sanitizer/63927 (AddressSanitizer painfully slow on ppc64)
Bill Schmidt [Wed, 29 Jul 2015 03:33:10 +0000 (03:33 +0000)]
re PR sanitizer/63927 (AddressSanitizer painfully slow on ppc64)

2015-07-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR sanitizer/63927
* sanitizer_common/sanitizer_stacktrace.cc
(BufferedStackTrace::FastUnwindStack): Fix code for PowerPC to
find the link register at an offset of 16 from the base of the
caller's stack frame.

From-SVN: r226335

9 years agoDaily bump.
GCC Administrator [Wed, 29 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226334

9 years agoarm.c (neon_element_bits, [...]): Call GET_MODE_INNER unconditionally.
David Sherwood [Tue, 28 Jul 2015 20:31:17 +0000 (20:31 +0000)]
arm.c (neon_element_bits, [...]): Call GET_MODE_INNER unconditionally.

gcc/
2015-07-28  David Sherwood  <david.sherwood@arm.com>

* config/arm/arm.c (neon_element_bits, neon_valid_immediate): Call
GET_MODE_INNER unconditionally.
* config/spu/spu.c (arith_immediate_p): Likewise.
* config/i386/i386.c (ix86_build_signbit_mask): Likewise.
* expmed.c (synth_mult): Remove check for VOIDmode result from
GET_MODE_INNER.
(expand_mult_const): Likewise.
* fold-const.c (fold_binary_loc): Replace call to element_precision
with call to GET_MODE_PRECISION.
* genmodes.c (emit_mode_inner_inline): Replace void_mode->name with
m->name.
(emit_mode_inner): Likewise.
* lto-streamer-out.c (lto_write_mode_table): Update GET_MODE_INNER
result check.
* machmode.h (GET_MODE_UNIT_SIZE): Simplify.
(GET_MODE_UNIT_PRECISION): Likewise.
* rtlanal.c (subreg_get_info): Call GET_MODE_INNER unconditionally.
* simplify-rtx.c (simplify_immed_subreg): Likewise.
* stor-layout.c (bitwise_type_for_mode): Update assert.
(element_precision): Remove.

From-SVN: r226328

9 years agotarget-insns.def (reload_load_address): New targetm instruction pattern.
Richard Sandiford [Tue, 28 Jul 2015 20:06:57 +0000 (20:06 +0000)]
target-insns.def (reload_load_address): New targetm instruction pattern.

gcc/
* target-insns.def (reload_load_address): New targetm instruction
pattern.
* reload1.c (gen_reload): Use it instead of HAVE_*/gen_* interface.

From-SVN: r226326

9 years agotarget-insns.def (atomic_test_and_set): New targetm instruction pattern.
Richard Sandiford [Tue, 28 Jul 2015 20:03:22 +0000 (20:03 +0000)]
target-insns.def (atomic_test_and_set): New targetm instruction pattern.

gcc/
* target-insns.def (atomic_test_and_set): New targetm instruction
pattern.
* optabs.c (maybe_emit_atomic_test_and_set): Use it instead of
HAVE_*/gen_* interface.

From-SVN: r226325

9 years agotarget-insns.def (can_extend, ptr_extend): New targetm instruction patterns.
Richard Sandiford [Tue, 28 Jul 2015 19:59:40 +0000 (19:59 +0000)]
target-insns.def (can_extend, ptr_extend): New targetm instruction patterns.

gcc/
* target-insns.def (can_extend, ptr_extend): New targetm instruction
patterns.
* optabs.c (can_extend_p): Use them instead of HAVE_*/gen_* interface.
* simplify-rtx.c (simplify_unary_operation_1): Likewise.
* emit-rtl.c (set_reg_attrs_from_value): Likewise.
* rtlanal.c (nonzero_bits1): Likewise.
(num_sign_bit_copies1): Likewise.

From-SVN: r226324

9 years agotarget-insns.def (eh_return): New targetm instruction pattern.
Richard Sandiford [Tue, 28 Jul 2015 19:54:06 +0000 (19:54 +0000)]
target-insns.def (eh_return): New targetm instruction pattern.

gcc/
* target-insns.def (eh_return): New targetm instruction pattern.
* except.c (expand_eh_return): Use it instead of HAVE_*/gen_*
interface.
* function.c (thread_prologue_and_epilogue_insns): Remove
preprocessor condition.

From-SVN: r226322

9 years agotarget-insns.def (indirect_jump): New targetm instruction pattern.
Richard Sandiford [Tue, 28 Jul 2015 19:50:22 +0000 (19:50 +0000)]
target-insns.def (indirect_jump): New targetm instruction pattern.

gcc/
* target-insns.def (indirect_jump): New targetm instruction pattern.
* optabs.c (emit_indirect_jump): Use it instead of HAVE_*/gen_*
interface.

From-SVN: r226321

9 years agofr30.md (indirect_jump): Use pmode_register_operand instead of nonimmediate_operand.
Richard Sandiford [Tue, 28 Jul 2015 19:34:12 +0000 (19:34 +0000)]
fr30.md (indirect_jump): Use pmode_register_operand instead of nonimmediate_operand.

gcc/
* config/fr30/fr30.md (indirect_jump): Use pmode_register_operand
instead of nonimmediate_operand.  Remove C condiition.

From-SVN: r226320

9 years agocheck.tpl: Ignore .DS_Store directories.
Eric Gallager [Tue, 28 Jul 2015 18:11:22 +0000 (18:11 +0000)]
check.tpl: Ignore .DS_Store directories.

2015-07-28  Eric Gallager  <egall@gwmail.gwu.edu>

* check.tpl: Ignore .DS_Store directories.

From-SVN: r226317

9 years agomatch.pd: Add more simplification of address comparisons.
Richard Biener [Tue, 28 Jul 2015 11:53:37 +0000 (11:53 +0000)]
match.pd: Add more simplification of address comparisons.

2015-07-28  Richard Biener  <rguenther@suse.de>

* match.pd: Add more simplification of address comparisons.

From-SVN: r226312

9 years agomatch.pd: Re-order two cases in comparison with max/min value simplification to make...
Richard Biener [Tue, 28 Jul 2015 11:52:55 +0000 (11:52 +0000)]
match.pd: Re-order two cases in comparison with max/min value simplification to make it...

2015-07-28  Richard Biener  <rguenther@suse.de>

* match.pd: Re-order two cases in comparison with max/min
value simplification to make it apply for bools.

From-SVN: r226311

9 years ago[AArch64] Properly handle simple arith+extend ops in rtx costs
Kyrylo Tkachov [Tue, 28 Jul 2015 11:00:07 +0000 (11:00 +0000)]
[AArch64] Properly handle simple arith+extend ops in rtx costs

* config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p):
Handle simple SIGN_EXTEND or ZERO_EXTEND.
(aarch64_rtx_costs): Properly strip extend or extract before
passing down to rtx costs again.

From-SVN: r226309

9 years agocall.c (build_op_delete_call, [...]): Use Use DECL_SOURCE_LOCATION and "%qD" in infor...
Paolo Carlini [Tue, 28 Jul 2015 08:53:57 +0000 (08:53 +0000)]
call.c (build_op_delete_call, [...]): Use Use DECL_SOURCE_LOCATION and "%qD" in inform and pedwarn instead of "%q+D".

2015-07-28  Paolo Carlini  <paolo.carlini@oracle.com>

* call.c (build_op_delete_call, convert_like_real, build_over_call):
Use Use DECL_SOURCE_LOCATION and "%qD" in inform and pedwarn instead
of "%q+D".
* constexpr.c (explain_invalid_constexpr_fn): Likewise.
* decl.c (duplicate_decls): Likewise for warning/warning_at.
* except.c (maybe_noexcept_warning): Likewise.
* friend.c (make_friend_class): Likewise for inform.
* mangle.c (mangle_decl): Likewise for warning/warning_at.
* method.c (process_subob_fn, walk_field_subobs,
maybe_explain_implicit_delete): Likewise for inform.
* parser.c (cp_parser_lambda_introducer): Likewise.
* pt.c (check_specialization_namespace,
maybe_process_partial_specialization): Likewise for permerror.
(redeclare_class_template): Likewise for inform_n.
(coerce_template_parms, tsubst_copy_and_build): Likewise for inform.
* search.c (check_final_overrider): Likewise.
* semantics.c (process_outer_var_ref): Likewise.

From-SVN: r226308

9 years agorl78.c (rl78_addsi3_internal): New function.
Nick Clifton [Tue, 28 Jul 2015 08:09:09 +0000 (08:09 +0000)]
rl78.c (rl78_addsi3_internal): New function.

* config/rl78/rl78.c (rl78_addsi3_internal): New function.
Optimizes the case where -mes0 is active and a constant symbolic
address is used.
* config/rl78/rl78-protos.h: Prototype the new function.
* config/rl78/rl78.md (addsi3_internal_real): Call new function.

From-SVN: r226306

9 years agoHandle double reduction in parloops
Tom de Vries [Tue, 28 Jul 2015 07:54:04 +0000 (07:54 +0000)]
Handle double reduction in parloops

2015-07-28  Tom de Vries  <tom@codesourcery.com>

* tree-parloops.c (reduc_stmt_res): New function.
(initialize_reductions, add_field_for_reduction)
(create_phi_for_local_result, create_loads_for_reductions)
(create_stores_for_reduction, build_new_reduction): Handle case that
reduc_stmt is a phi.
(gather_scalar_reductions): Allow double_reduc reductions.

* gcc.dg/autopar/uns-outer-4.c: Remove xfail on scan for parallelizing
outer loop.

* testsuite/libgomp.c/uns-outer-4.c: New test.

From-SVN: r226300

9 years agofold-const.c (fold_comparison): Remove equality folding of decl addresses ...
Richard Biener [Tue, 28 Jul 2015 07:20:33 +0000 (07:20 +0000)]
fold-const.c (fold_comparison): Remove equality folding of decl addresses ...

2015-07-28  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_comparison): Remove equality folding
of decl addresses ...
* match.pd: ... here and merge with existing pattern.

From-SVN: r226299

9 years agore PR tree-optimization/66828 (gcc/tree-ssa-math-opts.c:2182:38: runtime error: left...
Thomas Preud'homme [Tue, 28 Jul 2015 06:54:50 +0000 (06:54 +0000)]
re PR tree-optimization/66828 (gcc/tree-ssa-math-opts.c:2182:38: runtime error: left shift of 72057594037927936 by 8 places cannot be represented in type 'long int')

2015-07-28  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    PR tree-optimization/66828
    * tree-ssa-math-opts.c (perform_symbolic_merge): Change type of inc
    from int64_t to uint64_t.

From-SVN: r226298

9 years agoHonour DriverOnly for enum values in error messages
Dominik Vogt [Tue, 28 Jul 2015 05:51:01 +0000 (05:51 +0000)]
Honour DriverOnly for enum values in error messages

/gcc/ChangeLog

* opts-common.c (read_cmdline_option): List DriverOnly enum values as
valid only in the error message of the driver, not in the messages of
the language compilers.

From-SVN: r226297

9 years ago* config.sub, config.guess: Import from upstream.
Ben Elliston [Tue, 28 Jul 2015 00:57:40 +0000 (10:57 +1000)]
* config.sub, config.guess: Import from upstream.

From-SVN: r226296

9 years agoDaily bump.
GCC Administrator [Tue, 28 Jul 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226294

9 years agoc-decl.c (get_parm_info): Remove static var.
Luis Felipe Strano Moraes [Mon, 27 Jul 2015 22:26:34 +0000 (22:26 +0000)]
c-decl.c (get_parm_info): Remove static var.

gcc/c/ChangeLog

2015-07-28  Luis Felipe Strano Moraes  <luis.strano@gmail.com>
    Manuel López-Ibáñez  <manu@gcc.gnu.org>

* c-decl.c (get_parm_info): Remove static var. Update warning
message.

gcc/testsuite/ChangeLog

2015-07-28  Luis Felipe Strano Moraes  <luis.strano@gmail.com>
    Manuel López-Ibáñez  <manu@gcc.gnu.org>

* gcc.dg/parm-incomplete-1.c: Update.
* gcc.dg/pr18809-1.c: Update.
* gcc.dg/pr27953.c: Update.
* gcc.dg/vla-11.c: Update.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r226274

9 years ago* c-c++-common/Wtautological-compare-2.c: Remove unused line.
Marek Polacek [Mon, 27 Jul 2015 20:51:48 +0000 (20:51 +0000)]
* c-c++-common/Wtautological-compare-2.c: Remove unused line.

From-SVN: r226271

9 years agoSimplify gather_scalar_reductions
Tom de Vries [Mon, 27 Jul 2015 20:05:19 +0000 (20:05 +0000)]
Simplify gather_scalar_reductions

2015-07-27  Tom de Vries  <tom@codesourcery.com>

* tree-parloops.c (gather_scalar_reductions): Simplify function
structure.

From-SVN: r226270

9 years agoUpdate outer-4.c and uns-outer-4.c
Tom de Vries [Mon, 27 Jul 2015 20:05:09 +0000 (20:05 +0000)]
Update outer-4.c and uns-outer-4.c

2015-07-27  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/autopar/outer-4.c (parloop): Remove superfluous noinline
attribute.  Update comment.
(main): Remove.
Add scan for not parallelizing inner loop.
* gcc.dg/autopar/uns-outer-4.c (parloop): Remove superfluous noinline
attribute.
(main): Remove.

From-SVN: r226269

9 years ago* ipa-devirt.c (types_same_for_odr): Fix typo.
Marek Polacek [Mon, 27 Jul 2015 19:36:40 +0000 (19:36 +0000)]
* ipa-devirt.c (types_same_for_odr): Fix typo.

From-SVN: r226266

9 years agore PR bootstrap/67030 (ARM bootstrap failure due to [-Werror=tautological-compare])
Marek Polacek [Mon, 27 Jul 2015 19:09:27 +0000 (19:09 +0000)]
re PR bootstrap/67030 (ARM bootstrap failure due to [-Werror=tautological-compare])

PR bootstrap/67030
* c-common.c (warn_tautological_cmp): Don't warn for macro expansion.

* c-c++-common/Wtautological-compare-2.c: New test.

From-SVN: r226264

9 years agoconstexpr.c (cxx_eval_call_expression): Don't add this call to the hash table if...
Jason Merrill [Mon, 27 Jul 2015 16:57:21 +0000 (12:57 -0400)]
constexpr.c (cxx_eval_call_expression): Don't add this call to the hash table if !depth_ok.

* constexpr.c (cxx_eval_call_expression): Don't add this call to
the hash table if !depth_ok.

From-SVN: r226256

9 years agore PR lto/66468 (ICE in in check_die, at dwarf2out.c:5719)
Jason Merrill [Mon, 27 Jul 2015 16:57:15 +0000 (12:57 -0400)]
re PR lto/66468 (ICE in in check_die, at dwarf2out.c:5719)

PR debug/66468
* dwarf2out.c (gen_inlined_subroutine_die): Check
cgraph_function_possibly_inlined_p.

From-SVN: r226255

9 years agoAdd more tests for PR target/66232
H.J. Lu [Mon, 27 Jul 2015 16:24:35 +0000 (16:24 +0000)]
Add more tests for PR target/66232

PR target/66232
* gcc.target/i386/pr66232-6.c: New tests.
* gcc.target/i386/pr66232-7.c: Likewise.
* gcc.target/i386/pr66232-8.c: Likewise.
* gcc.target/i386/pr66232-9.c: Likewise.

From-SVN: r226254

9 years ago[PATCH][AArch64] Improve spill code - swap order in shr patterns
Wilco Dijkstra [Mon, 27 Jul 2015 16:18:36 +0000 (16:18 +0000)]
[PATCH][AArch64] Improve spill code - swap order in shr patterns

gcc/

* gcc/config/aarch64/aarch64.md (aarch64_lshr_sisd_or_int_<mode>3):
Place integer variant first.
(aarch64_ashr_sisd_or_int_<mode>3): Likewise.

From-SVN: r226253

9 years ago[ARM] PR/63870 Add a __builtin_lane_check
Alan Lawrence [Mon, 27 Jul 2015 15:55:23 +0000 (15:55 +0000)]
[ARM] PR/63870 Add a __builtin_lane_check

        * config/arm/arm-builtins.c (enum arm_builtins):
        Add ARM_BUILTIN_NEON_BASE and ARM_BUILTIN_NEON_LANE_CHECK.
        (ARM_BUILTIN_NEON_BASE): Rename macro to....
        (ARM_BUILTIN_NEON_PATTERN_START): ...this.
        (arm_init_neon_builtins): Register __builtin_arm_lane_check.
        (arm_expand_neon_builtin): Handle ARM_BUILTIN_NEON_LANE_CHECK.

From-SVN: r226252

9 years ago[ARM] PR/63870 Add qualifier to check lane bounds in expand
Alan Lawrence [Mon, 27 Jul 2015 15:44:26 +0000 (15:44 +0000)]
[ARM] PR/63870 Add qualifier to check lane bounds in expand

* config/arm/arm-builtins.c (enum arm_type_qualifiers):
Add qualifier_lane_index.
(arm_binop_imm_qualifiers, BINOP_IMM_QUALIFIERS): New.
(arm_getlane_qualifiers): Use qualifier_lane_index.
(arm_lanemac_qualifiers): Rename to...
(arm_mac_n_qualifiers): ...this.
(LANEMAC_QUALIFIERS): Rename to...
(MAC_N_QUALIFIERS): ...this.
(arm_mac_lane_qualifiers, MAC_LANE_QUALIFIERS): New.
(arm_setlane_qualifiers): Use qualifier_lane_index.
(arm_ternop_imm_qualifiers, TERNOP_IMM_QUALIFIERS): New.
(enum builtin_arg): Add NEON_ARG_LANE_INDEX.
(arm_expand_neon_args): Handle NEON_ARG_LANE_INDEX.
(arm_expand_neon_builtin): Handle qualifier_lane_index.

* config/arm/arm-protos.h (neon_lane_bounds): Add const_tree parameter.
* config/arm/arm.c (bounds_check): Likewise, improve error message.
(neon_lane_bounds, neon_const_bounds): Add arguments to bounds_check.
* config/arm/arm_neon_builtins.def (vshrs_n, vshru_n, vrshrs_n,
vrshru_n, vshrn_n, vrshrn_n, vqshrns_n, vqshrnu_n, vqrshrns_n,
vqrshrnu_n, vqshrun_n, vqrshrun_n, vshl_n, vqshl_s_n, vqshl_u_n,
vqshlu_n, vshlls_n, vshllu_n): Change qualifiers to BINOP_IMM.
(vsras_n, vsrau_n, vrsras_n, vrsrau_n, vsri_n, vsli_n): Change
qualifiers to TERNOP_IMM.
(vdup_lane): Change qualifiers to GETLANE.
(vmla_lane, vmlals_lane, vmlalu_lane, vqdmlal_lane, vmls_lane,
vmlsls_lane, vmlslu_lane, vqdmlsl_lane): Change qualifiers to MAC_LANE.
(vmla_n, vmlals_n, vmlalu_n, vqdmlal_n, vmls_n, vmlsls_n, vmlslu_n,
vqdmlsl_n): Change qualifiers to MAC_N.

* config/arm/neon.md (neon_vget_lane<mode>, neon_vget_laneu<mode>,
neon_vget_lanedi, neon_vget_lanev2di, neon_vset_lane<mode>,
neon_vset_lanedi, neon_vdup_lane<mode>, neon_vdup_lanedi,
neon_vdup_lanev2di, neon_vmul_lane<mode>, neon_vmul_lane<mode>,
neon_vmull<sup>_lane<mode>, neon_vqdmull_lane<mode>,
neon_vq<r>dmulh_lane<mode>, neon_vq<r>dmulh_lane<mode>,
neon_vmla_lane<mode>, neon_vmla_lane<mode>, neon_vmlal<sup>_lane<mode>,
neon_vqdmlal_lane<mode>, neon_vmls_lane<mode>, neon_vmls_lane<mode>,
neon_vmlsl<sup>_lane<mode>, neon_vqdmlsl_lane<mode>):
Remove call to neon_lane_bounds.

From-SVN: r226251

9 years ago[PATCH][AArch64] Improve spill code - swap order in shl pattern
Wilco Dijkstra [Mon, 27 Jul 2015 15:02:55 +0000 (15:02 +0000)]
[PATCH][AArch64] Improve spill code - swap order in shl pattern

gcc/

* config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3):
Place integer variant first.

From-SVN: r226247

9 years agoFix logic error in Fortran OpenACC parsing
Thomas Schwinge [Mon, 27 Jul 2015 14:26:41 +0000 (16:26 +0200)]
Fix logic error in Fortran OpenACC parsing

gcc/fortran/
* parse.c (parse_oacc_structured_block): Fix logic error.
Reported by Mikael Morin <mikael.morin@sfr.fr>.

From-SVN: r226246

9 years agoarm-arches.def: Add "armv6kz".
Matthew Wahab [Mon, 27 Jul 2015 13:07:09 +0000 (13:07 +0000)]
arm-arches.def: Add "armv6kz".

2015-07-27  Matthew Wahab  <matthew.wahab@arm.com>

* config/arm/arm-arches.def: Add "armv6kz". Replace 6ZK with 6KZ
and FL_FOR_ARCH6ZK with FL_FOR_ARCH6KZ.
* config/arm/arm-c.c (arm_cpu_builtins): Emit "__ARM_ARCH_6ZK__"
for armv6kz targets.
* config/arm/arm-cores.def: Replace 6ZK with 6KZ.
* config/arm/arm-protos.h (FL_ARCH6KZ): New.
(FL_FOR_ARCH6ZK): Remove.
(FL_FOR_ARCH6KZ): New.
(arm_arch6zk): New declaration.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm.c (arm_arch6kz): New.
(arm_option_override): Set arm_arch6kz.
* config/arm/arm.h (BASE_ARCH_6ZK): Rename to BASE_ARCH_6KZ.
* config/arm/driver-arm.c: Add comment to "armv6zk" entry.
        * doc/invoke.texi: Replace "armv6zk" with "armv6kz".

From-SVN: r226243

9 years agore PR c++/66555 (Fails to warn for if (j == 0 && i == i))
Marek Polacek [Mon, 27 Jul 2015 12:40:45 +0000 (12:40 +0000)]
re PR c++/66555 (Fails to warn for if (j == 0 && i == i))

PR c++/66555
PR c/54979
* c-common.c (find_array_ref_with_const_idx_r): New function.
(warn_tautological_cmp): New function.
* c-common.h (warn_tautological_cmp): Declare.
* c.opt (Wtautological-compare): New option.

* c-typeck.c (parser_build_binary_op): Call warn_tautological_cmp.

* call.c (build_new_op_1): Call warn_tautological_cmp.
* pt.c (tsubst_copy_and_build): Use sentinel to suppress tautological
compare warnings.

* doc/invoke.texi: Document -Wtautological-compare.

* c-c++-common/Wtautological-compare-1.c: New test.

From-SVN: r226242

9 years agogenmatch.c (decision_tree::gen_gimple): Split out large subtrees into separate functions.
Richard Biener [Mon, 27 Jul 2015 10:59:18 +0000 (10:59 +0000)]
genmatch.c (decision_tree::gen_gimple): Split out large subtrees into separate functions.

2015-07-27  Richard Biener  <rguenther@suse.de>

* genmatch.c (decision_tree::gen_gimple): Split out large
subtrees into separate functions.
(decision_tree::gen_generic): Likewise.

From-SVN: r226241

9 years agoDaily bump.
GCC Administrator [Mon, 27 Jul 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226240

9 years agoFix PR c++/18969 (invalid return statement diagnosed too late)
Patrick Palka [Sun, 26 Jul 2015 17:04:31 +0000 (17:04 +0000)]
Fix PR c++/18969 (invalid return statement diagnosed too late)

gcc/cp/ChangeLog:

PR c++/18969
* typeck.c (check_return_expr): Also do the basic return-value
validity checking if processing_template_decl and yet types are
not dependent.  Remove obsolete code.

gcc/testsuite/ChangeLog:

PR c++/18969
* g++.dg/template/pr18969.C: New test.
* g++.dg/template/pr18969-2.C: New test.
* g++.old-deja/g++.jason/overload.C: Remove return value in
template function returning void.

From-SVN: r226236

9 years agodecl.c (poplevel): Use Use DECL_SOURCE_LOCATION and "%qD" in warning_at instead of...
Paolo Carlini [Sun, 26 Jul 2015 09:17:03 +0000 (09:17 +0000)]
decl.c (poplevel): Use Use DECL_SOURCE_LOCATION and "%qD" in warning_at instead of "%q+D" in warning.

2015-07-26  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (poplevel): Use Use DECL_SOURCE_LOCATION and "%qD"
in warning_at instead of "%q+D" in warning.
(warn_extern_redeclared_static): Likewise for inform.
(check_redeclaration_no_default_args): Likewise for permerror.
(duplicate_decls): Likewise.
(check_previous_goto_1): Likewise for inform.
(check_goto, start_decl, check_for_uninitialized_const_var,
start_preparsed_function, finish_function§): Likewise.
* decl2.c (build_anon_union_vars, c_parse_final_cleanups): Likewise.
* init.c (sort_mem_initializers): Likewise.
* typeck.c (convert_for_initialization): Likewise for inform.
(maybe_warn_about_returning_address_of_local): Likewise.
* typeck2.c (abstract_virtuals_error_sfinae): Likewise for inform.
(cxx_incomplete_type_diagnostic): Likewise for emit_diagnostic.

From-SVN: r226234

9 years agopr66140.c (lpfc_bg_setup_bpl): Use unsigned immediates to avoid shift-overflow warnings.
Uros Bizjak [Sun, 26 Jul 2015 09:08:04 +0000 (11:08 +0200)]
pr66140.c (lpfc_bg_setup_bpl): Use unsigned immediates to avoid shift-overflow warnings.

* gcc.target/alpha/pr66140.c (lpfc_bg_setup_bpl): Use unsigned
immediates to avoid shift-overflow warnings.

From-SVN: r226233

9 years agoalpha.c: Use SUBREG_P predicate.
Uros Bizjak [Sun, 26 Jul 2015 08:51:14 +0000 (10:51 +0200)]
alpha.c: Use SUBREG_P predicate.

* config/alpha/alpha.c: Use SUBREG_P predicate.
* config/alpha/predicates.md: Ditto.

From-SVN: r226232

9 years agoDaily bump.
GCC Administrator [Sun, 26 Jul 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226231

9 years agore PR c++/66857 (Reference not bound to lvalue)
Patrick Palka [Sat, 25 Jul 2015 23:15:44 +0000 (23:15 +0000)]
re PR c++/66857 (Reference not bound to lvalue)

Fix PR c++/66857

gcc/cp/ChangeLog:

PR c++/66857
* cvt.c (ocp_convert): Don't call scalar_constant_value when
converting to a class type.

gcc/testsuite/ChangeLog:

PR c++/66857
* g++.dg/init/pr66857.C: New test.

From-SVN: r226228

9 years agoS390: Clean up cross-compile for S390.
Dominik Vogt [Sat, 25 Jul 2015 18:34:15 +0000 (18:34 +0000)]
S390: Clean up cross-compile for S390.

gcc/ChangeLog

* config.host (s390*-*-*): Include driver-native.c only when
building with s390* as host *and* target.

From-SVN: r226223

9 years agore PR target/66930 (gengtype.c is miscompiled during stage2)
Oleg Endo [Sat, 25 Jul 2015 14:07:17 +0000 (14:07 +0000)]
re PR target/66930 (gengtype.c is miscompiled during stage2)

gcc/
PR target/66930
* config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing
T bit register modified_between_p check.

From-SVN: r226218

9 years agoChangeLog: Fix whitespace.
Uros Bizjak [Sat, 25 Jul 2015 12:57:23 +0000 (14:57 +0200)]
ChangeLog: Fix whitespace.

* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

From-SVN: r226217