platform/upstream/gcc.git
8 years agore PR c++/70035 (Calling a non-virtual member in base-class constructor call with...
Jakub Jelinek [Fri, 4 Mar 2016 22:10:49 +0000 (23:10 +0100)]
re PR c++/70035 (Calling a non-virtual member in base-class constructor call with ubsan causes segfault when superclass has virtual member with same name)

PR c++/70035
* cp-tree.h (cp_ubsan_maybe_initialize_vtbl_ptrs): New prototype.
* decl.c (start_preparsed_function): Call
cp_ubsan_maybe_initialize_vtbl_ptrs if needed.
* cp-ubsan.c (cp_ubsan_dfs_initialize_vtbl_ptrs,
cp_ubsan_maybe_initialize_vtbl_ptrs): New functions.

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

From-SVN: r233984

8 years agore PR c++/67364 ("accessing uninitialized member" error in constexpr context)
Jason Merrill [Fri, 4 Mar 2016 22:08:22 +0000 (17:08 -0500)]
re PR c++/67364 ("accessing uninitialized member" error in constexpr context)

PR c++/67364

* constexpr.c (cxx_eval_component_reference): Further tweak.

From-SVN: r233982

8 years agoFix constexpr handling of SAVE_EXPR in loops.
Jason Merrill [Fri, 4 Mar 2016 22:08:17 +0000 (17:08 -0500)]
Fix constexpr handling of SAVE_EXPR in loops.

* constexpr.c (struct constexpr_ctx): Add save_exprs field.
(cxx_eval_loop_expr): Discard SAVE_EXPR values before looping.
(cxx_eval_constant_expression) [SAVE_EXPR]: Add it to the set.
(cxx_eval_outermost_constant_expr, is_sub_constant_expr): Initialize.

From-SVN: r233981

8 years agore PR target/70062 (ICE: in decide_alg, at config/i386/i386.c:26173 with -mmemcpy...
Jakub Jelinek [Fri, 4 Mar 2016 20:28:27 +0000 (21:28 +0100)]
re PR target/70062 (ICE: in decide_alg, at config/i386/i386.c:26173 with -mmemcpy-strategy=libcall)

PR target/70062
* config/i386/i386.c (decide_alg): Add RECUR argument.  Revert
2016-02-22 changes, instead don't recurse if RECUR is already true.
Don't change *dynamic_check if RECUR.  Adjust recursive caller
to pass true to the new argument.
(ix86_expand_set_or_movmem): Adjust decide_alg caller.

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

From-SVN: r233979

8 years agoRemove c++98_only on g++.dg/template/typename21.C
H.J. Lu [Fri, 4 Mar 2016 19:51:53 +0000 (19:51 +0000)]
Remove c++98_only on g++.dg/template/typename21.C

* g++.dg/template/typename21.C: Remove c++98_only.

From-SVN: r233977

8 years agoReplace c++98 with c++98_only
H.J. Lu [Fri, 4 Mar 2016 19:41:35 +0000 (19:41 +0000)]
Replace c++98 with c++98_only

* g++.dg/template/typename21.C: Replace c++98 with c++98_only.

From-SVN: r233975

8 years agore PR c++/70067 (internal compiler error: in strip_typedefs, at cp/tree.c:1466)
Jason Merrill [Fri, 4 Mar 2016 16:07:20 +0000 (11:07 -0500)]
re PR c++/70067 (internal compiler error: in strip_typedefs, at cp/tree.c:1466)

PR c++/70067

* tree.c (strip_typedefs): Handle TYPENAME_TYPE lookup finding the
same type.

From-SVN: r233973

8 years agoPR c/68187: fix overzealous -Wmisleading-indentation (comment #1)
David Malcolm [Fri, 4 Mar 2016 15:50:27 +0000 (15:50 +0000)]
PR c/68187: fix overzealous -Wmisleading-indentation (comment #1)

gcc/c-family/ChangeLog:
PR c/68187
* c-indentation.c (get_visual_column): Move code to determine next
tab stop to...
(next_tab_stop): ...this new function.
(line_contains_hash_if): Delete function.
(detect_preprocessor_logic): Delete function.
(get_first_nws_vis_column): New function.
(detect_intervening_unindent): New function.
(should_warn_for_misleading_indentation): Replace call to
detect_preprocessor_logic with a call to
detect_intervening_unindent.

gcc/testsuite/ChangeLog:
PR c/68187
* c-c++-common/Wmisleading-indentation.c (fn_42_a): New test
function.
(fn_42_b): Likewise.
(fn_42_c): Likewise.

From-SVN: r233972

8 years agoPR c/68187: fix overzealous -Wmisleading-indentation (comment #0)
David Malcolm [Fri, 4 Mar 2016 15:45:19 +0000 (15:45 +0000)]
PR c/68187: fix overzealous -Wmisleading-indentation (comment #0)

gcc/c-family/ChangeLog:
PR c/68187
* c-indentation.c (should_warn_for_misleading_indentation): When
suppressing warnings about cases where the guard and body are on
the same column, only use the first non-whitespace column in place
of the guard token column when dealing with "else" clauses.
When rejecting aligned BODY and NEXT, loosen the requirement
from equality with the first non-whitespace of guard to simply
that they not be indented relative to it.

gcc/testsuite/ChangeLog:
PR c/68187
* c-c++-common/Wmisleading-indentation.c (fn_40_a): New test
function.
(fn_40_b): Likewise.
(fn_41_a): Likewise.
(fn_41_b): Likewise.

From-SVN: r233971

8 years agore PR target/70059 (Invalid codegen on AVX-512 when using _mm512_inserti64x4(x, y...
Jakub Jelinek [Fri, 4 Mar 2016 14:45:56 +0000 (15:45 +0100)]
re PR target/70059 (Invalid codegen on AVX-512 when using _mm512_inserti64x4(x, y, 0))

PR target/70059
* config/i386/sse.md (vec_set_lo_<mode><mask_name>,
<extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
fixes.
(vec_set_hi_<mode><mask_name>): Likewise.  Swap VEC_CONCAT operands.

* gcc.target/i386/avx512f-pr70059.c: New test.
* gcc.target/i386/avx512dq-pr70059.c: New test.

From-SVN: r233968

8 years agoAvoid terminating early in LRA, unless -fchecking (PR57676)
Bernd Schmidt [Fri, 4 Mar 2016 14:12:36 +0000 (14:12 +0000)]
Avoid terminating early in LRA, unless -fchecking (PR57676)

gcc/
PR rtl-optimization/57676
* lra-assigns.c (lra_assign): Guard test for maximum iterations
with flag_checking.

gcc/testsuite/
PR rtl-optimization/57676
* gcc.dg/torture/pr57676.c: New test.

From-SVN: r233967

8 years agotree-vect-patterns.c (search_type_for_mask): Handle comparison of booleans.
Ilya Enkovich [Fri, 4 Mar 2016 13:49:54 +0000 (13:49 +0000)]
tree-vect-patterns.c (search_type_for_mask): Handle comparison of booleans.

gcc/

* tree-vect-patterns.c (search_type_for_mask): Handle
comparison of booleans.

gcc/testsuite/

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

From-SVN: r233966

8 years agore PR c/69798 (ICE on invalid code on x86_64-linux-gnu in c_parser_braced_init, at...
Marek Polacek [Fri, 4 Mar 2016 13:26:25 +0000 (13:26 +0000)]
re PR c/69798 (ICE on invalid code on x86_64-linux-gnu in c_parser_braced_init, at c/c-parser.c:4338)

PR c/69798
* c-parser.c (c_parser_postfix_expression): Call
c_parser_cast_expression rather than c_parser_postfix_expression.

* gcc.dg/cilk-plus/pr69798-1.c: New test.
* gcc.dg/cilk-plus/pr69798-2.c: New test.

From-SVN: r233965

8 years ago[AArch64][testsuite] PR target/70004: Remove check using undefined behaviour
Kyrylo Tkachov [Fri, 4 Mar 2016 11:09:11 +0000 (11:09 +0000)]
[AArch64][testsuite] PR target/70004: Remove check using undefined behaviour

PR target/70004
* gcc.target/aarch64/scalar_shift_1.c: (test_corners_sisd_di):
Delete.
(test_corners_sisd_si): Likewise.
(main): Remove checks of the above.
* gcc.target/aarch64/shift_wide_invalid_1.c: New test.

From-SVN: r233964

8 years ago* gcc.dg/Wno-frame-address.c: Skip on IA-64.
Eric Botcazou [Fri, 4 Mar 2016 08:46:33 +0000 (08:46 +0000)]
* gcc.dg/Wno-frame-address.c: Skip on IA-64.

From-SVN: r233963

8 years agopr69951.c: Accept argc==0.
Christophe Lyon [Fri, 4 Mar 2016 08:43:27 +0000 (08:43 +0000)]
pr69951.c: Accept argc==0.

2016-03-04  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.dg/torture/pr69951.c: Accept argc==0.

From-SVN: r233962

8 years agore PR middle-end/70054 (GCC 6 gives a strict-aliasing warning on use of std::aligned_...
Richard Biener [Fri, 4 Mar 2016 08:31:19 +0000 (08:31 +0000)]
re PR middle-end/70054 (GCC 6 gives a strict-aliasing warning on use of std::aligned_storage)

2016-03-04  Richard Biener  <rguenther@suse.de>

PR c++/70054
* c-common.c (strict_aliasing_warning): Use alias_set_subset_of
instead of alias_sets_conflict_p.

* g++.dg/warn/Wstrict-aliasing-bogus-union-2.C: New testcase.
* gcc.dg/Wstrict-aliasing-struct-member.c: New testcase.

From-SVN: r233961

8 years agoextend.texi (__builtin_alloca, [...]): Fix @xref usage.
Jakub Jelinek [Fri, 4 Mar 2016 07:39:21 +0000 (08:39 +0100)]
extend.texi (__builtin_alloca, [...]): Fix @xref usage.

* doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align):
Fix @xref usage.

From-SVN: r233960

8 years agoS/390: Set GOARCH to the current target when testing multiarch.
Dominik Vogt [Fri, 4 Mar 2016 07:33:16 +0000 (07:33 +0000)]
S/390: Set GOARCH to the current target when testing multiarch.

The attached patch fixes a test failure of go.test/test/env.go on
s390x biarch.  Bootstrapped and regression tested on s390x biarch
and s390.

gcc/testsuite/ChangeLog

2016-03-04  Dominik Vogt  <vogt@linux.vnet.ibm.com>

PR testsuite/69766
* go.test/go-test.exp: S/390: Set GOARCH to the current target when
testing multiarch.

From-SVN: r233959

8 years agore PR debug/69947 (DW_OP_GNU_implicit_pointer broken on the trunk)
Jakub Jelinek [Fri, 4 Mar 2016 07:27:15 +0000 (08:27 +0100)]
re PR debug/69947 (DW_OP_GNU_implicit_pointer broken on the trunk)

PR debug/69947
* dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
all other ops that have dw_val_class_die_ref operands,
and DW_OP_GNU_entry_value.

* gcc.dg/guality/pr69947.c: New test.

From-SVN: r233958

8 years ago* method.c (synthesized_method_walk): operator= can also be constexpr.
Jason Merrill [Fri, 4 Mar 2016 01:48:33 +0000 (20:48 -0500)]
* method.c (synthesized_method_walk): operator= can also be constexpr.

From-SVN: r233956

8 years agopt.c (tsubst_copy_and_build): Get LAMBDA_EXPR_RETURN_TYPE from the instantiated closure.
Jason Merrill [Fri, 4 Mar 2016 01:45:48 +0000 (20:45 -0500)]
pt.c (tsubst_copy_and_build): Get LAMBDA_EXPR_RETURN_TYPE from the instantiated closure.

* pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Get
LAMBDA_EXPR_RETURN_TYPE from the instantiated closure.

From-SVN: r233955

8 years agore PR c++/67164 (ICE: tree check: expected class ‘expression’, have ‘exceptional...
Jason Merrill [Fri, 4 Mar 2016 01:45:43 +0000 (20:45 -0500)]
re PR c++/67164 (ICE: tree check: expected class ‘expression’, have ‘exceptional’ (argument_pack_select) in tree_operand_check, at tree.h:3356)

PR c++/67164

* pt.c (copy_template_args): New.
(tsubst_pack_expansion): Use it.

From-SVN: r233954

8 years agoDaily bump.
GCC Administrator [Fri, 4 Mar 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r233953

8 years ago* call.c (build_aggr_conv): Use get_nsdmi.
Jason Merrill [Thu, 3 Mar 2016 22:43:14 +0000 (17:43 -0500)]
* call.c (build_aggr_conv): Use get_nsdmi.

From-SVN: r233947

8 years agore PR c++/51406 ([c++0x] Incorrect result of static_cast to rvalue reference to base...
Jason Merrill [Thu, 3 Mar 2016 22:43:09 +0000 (17:43 -0500)]
re PR c++/51406 ([c++0x] Incorrect result of static_cast to rvalue reference to base class.)

PR c++/51406

* typeck.c (build_static_cast_1): Avoid folding back to lvalue.

From-SVN: r233946

8 years agore PR c++/67364 ("accessing uninitialized member" error in constexpr context)
Jason Merrill [Thu, 3 Mar 2016 22:43:03 +0000 (17:43 -0500)]
re PR c++/67364 ("accessing uninitialized member" error in constexpr context)

PR c++/67364

* constexpr.c (cxx_eval_component_reference): Just return an empty
CONSTRUCTOR for an empty class.

From-SVN: r233945

8 years agore PR ada/70017 (c52103x and c52104x test failure on s390x)
Jakub Jelinek [Thu, 3 Mar 2016 20:52:40 +0000 (21:52 +0100)]
re PR ada/70017 (c52103x and c52104x test failure on s390x)

PR ada/70017
* gcc.dg/pr70017.c (foo): Store 0 to first element of each array.

From-SVN: r233944

8 years ago[ARM] PR rtl-optimization/69904: Disallow copying/duplicating of load-exclusive opera...
Kyrylo Tkachov [Thu, 3 Mar 2016 17:25:43 +0000 (17:25 +0000)]
[ARM] PR rtl-optimization/69904: Disallow copying/duplicating of load-exclusive operations

PR rtl-optimization/69904
* config/arm/arm.c (arm_cannot_copy_insn_p):
Return true for load-exclusive instructions.

* gcc.target/arm/pr69904.c: New test.

From-SVN: r233941

8 years agore PR target/70021 (Test miscompiled with -O3 option for -march=core-avx2.)
Jakub Jelinek [Thu, 3 Mar 2016 14:32:15 +0000 (15:32 +0100)]
re PR target/70021 (Test miscompiled with -O3 option for -march=core-avx2.)

PR target/70021
* tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
the pattern no matter if it is used just by non-pattern, pattern
or mix thereof.
(process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
oprnd1 def_stmt is in pattern, don't look through it.

* gcc.dg/vect/pr70021.c: New test.
* gcc.target/i386/pr70021.c: New test.

From-SVN: r233940

8 years agoFix passing object names to make_sunver.pl
Rainer Orth [Thu, 3 Mar 2016 13:40:30 +0000 (13:40 +0000)]
Fix passing object names to make_sunver.pl

* Makefile.am (libffi.map-sun): Properly convert
$(libffi_la_OBJECTS) to object names.
* Makefile.in: Regenerate.

From-SVN: r233938

8 years agore PR middle-end/70050 (ICE: tree check: expected integer_type or enumeral_type or...
Marek Polacek [Thu, 3 Mar 2016 11:42:19 +0000 (11:42 +0000)]
re PR middle-end/70050 (ICE: tree check: expected integer_type or enumeral_type or boolean_type or real_type or fixed_point_type, have vector_type in generic_simplify_162, at generic-match.c:6175)

PR middle-end/70050
* match.pd (X % -Y): Add INTEGRAL_TYPE_P check.

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

From-SVN: r233937

8 years agoTabify libffi/Makefile.am
Rainer Orth [Thu, 3 Mar 2016 10:30:25 +0000 (10:30 +0000)]
Tabify libffi/Makefile.am

* Makefile.am (libffi.map-sun): Tabify:
* Makefile.in: Regenerate.

From-SVN: r233936

8 years ago[Patch testsuite] Change xfail conditions for bb-slp-34.c
James Greenhalgh [Thu, 3 Mar 2016 10:18:05 +0000 (10:18 +0000)]
[Patch testsuite] Change xfail conditions for bb-slp-34.c

gcc/testsuite/

* gcc.dg/vect/bb-slp-34.c: Don't XFAIL for ARM/AArch64.

From-SVN: r233935

8 years agoSkip properly debug stmt in optimize_mask_stores (PR
Martin Liska [Thu, 3 Mar 2016 10:08:09 +0000 (10:08 +0000)]
Skip properly debug stmt in optimize_mask_stores (PR

PR tree-optimization/70043
* tree-vect-loop.c (optimize_mask_stores): Move iterator to
previous statement if we see a debug statement.
* gfortran.dg/vect/pr70043.f90: New test.

From-SVN: r233934

8 years ago* gnat.dg/specs/task1.ads: New test.
Eric Botcazou [Thu, 3 Mar 2016 09:56:30 +0000 (09:56 +0000)]
* gnat.dg/specs/task1.ads: New test.

From-SVN: r233932

8 years agoInvoke gdb with -batch to avoid prompts
Rainer Orth [Thu, 3 Mar 2016 09:46:03 +0000 (09:46 +0000)]
Invoke gdb with -batch to avoid prompts

* lib/gcc-gdb-test.exp (gdb-test): Make log message match command.
Invoke gdb with -batch.
* lib/gcc-simulate-thread.exp (simulate-thread): Likewise.

From-SVN: r233930

8 years agolibitm: Introduce target macro TARGET_BEGIN_TRANSACTION_ATTRIBUTE.
Dominik Vogt [Thu, 3 Mar 2016 09:31:57 +0000 (09:31 +0000)]
libitm: Introduce target macro TARGET_BEGIN_TRANSACTION_ATTRIBUTE.

The attached patch adds the a target specific attribute via the
new target macro TARGET_BEGIN_TRANSACTION_ATTRIBUTE to the
function begin_transaction().  S/390 uses this to set the
soft-float target attribute which is needed to fix a crash with
-m31.

As there seems to be no place in libitm to document internal macros like
USE_HTM_FASTPATH or the new macro, I've put the documentation in a
comment where the macro is used.

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

* config/s390/target.h (TARGET_BEGIN_TRANSACTION_ATTRIBUTE): Define
function attribute to disable floating point in begin_transaction() on
S/390.
* beginend.cc (begin_transaction): Use
TARGET_BEGIN_TRANSACTION_ATTRIBUTE.

From-SVN: r233929

8 years agore PR tree-optimization/55936 (Missed VRP optimization)
Richard Biener [Thu, 3 Mar 2016 09:12:53 +0000 (09:12 +0000)]
re PR tree-optimization/55936 (Missed VRP optimization)

2016-03-03  Richard Biener  <rguenther@suse.de>

PR tree-optimization/55936
* tree-vrp.c (compare_name_with_value): Add use_equiv_p
parameter and guard unsafe equivalence use.
(vrp_evaluate_conditional_warnv_with_ops): Always use
safe equivalences but not via the quadratic compare_names
helper.

* gcc.dg/tree-ssa/vrp06.c: Remove XFAIL.

From-SVN: r233928

8 years agore PR target/70014 ([ARM] Predicate does not match constraint (*subsi3_carryin_const))
Michael Collison [Thu, 3 Mar 2016 07:42:02 +0000 (07:42 +0000)]
re PR target/70014 ([ARM] Predicate does not match constraint (*subsi3_carryin_const))

2016-03-03  Michael Collison  <michael.collison@linaro.org>

PR target/70014
* config/arm/arm.md (*subsi3_carryin_const): Change predicate
for operand 1 to s_register_operand. Change predicate for operand
2 to arm_not_immediate_operand.

From-SVN: r233927

8 years agore PR libffi/70024 (libffi ABI change w/o SONAME bump)
Richard Henderson [Thu, 3 Mar 2016 01:40:29 +0000 (17:40 -0800)]
re PR libffi/70024 (libffi ABI change w/o SONAME bump)

PR libffi/70024

  * Makefile.am (libffi_version_script): Look in cwd for libffi.map.
  (libffi_version_dep, libffi.map-sun): Likewise.
  (libffi.map): New target.
  * libffi.map.in: Rename from libffi.map.  Add required defines,
  includes, and conditionals.

From-SVN: r233926

8 years agoDaily bump.
GCC Administrator [Thu, 3 Mar 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r233925

8 years agore PR rtl-optimization/69942 (gcc.dg/ifcvt-5.c FAILs)
Jeff Law [Thu, 3 Mar 2016 00:11:03 +0000 (17:11 -0700)]
re PR rtl-optimization/69942 (gcc.dg/ifcvt-5.c FAILs)

PR rtl-optimization/69942
* gcc.dg/ifcvt-5.c: Use "word_mode" rather than "int" to limit the
effects of argument promotions.

From-SVN: r233922

8 years agore PR libffi/70024 (libffi ABI change w/o SONAME bump)
Richard Henderson [Wed, 2 Mar 2016 23:28:11 +0000 (15:28 -0800)]
re PR libffi/70024 (libffi ABI change w/o SONAME bump)

PR libffi/70024

  * Makefile.am (libffi_version_script): New.
  (libffi_version_dep): New.
  (libffi_version_info): New.
  (libffi_la_LDFLAGS): Include libffi_version_info, libffi_version_script.
  (libffi_la_DEPENDENCIES): Include libffi_version_dep.
  * acinclude.m4 (LIBAT_ENABLE, LIBAT_CHECK_LINKER_FEATURES): New.
  (LIBAT_ENABLE_SYMVERS, LIBAT_BUILD_VERSIONED_SHLIB): New.
  (LIBAT_BUILD_VERSIONED_SHLIB_GNU): New.
  (LIBAT_BUILD_VERSIONED_SHLIB_SUN): New.
  * configure.ac: Invoke LIBAT_ENABLE_SYMVERS.
  * libffi.map: New file.
  * libtool-version: Increase to 5.0.0.
  * Makefile.in, configure: Rebuild.
  * man/Makefile.in, testsuite/Makefile.in: Rebuild.

From-SVN: r233921

8 years agoFix recent ChangeLog entry
Jeff Law [Wed, 2 Mar 2016 21:56:25 +0000 (14:56 -0700)]
Fix recent ChangeLog entry

From-SVN: r233918

8 years agoRegenerate doc/tm.texi
H.J. Lu [Wed, 2 Mar 2016 21:46:55 +0000 (21:46 +0000)]
Regenerate doc/tm.texi

* doc/tm.texi: Regenerated.

From-SVN: r233917

8 years agore PR rtl-optimization/67145 (associativity from pseudo-reg ordering)
Richard Henderson [Wed, 2 Mar 2016 21:09:54 +0000 (13:09 -0800)]
re PR rtl-optimization/67145 (associativity from pseudo-reg ordering)

PR rtl-opt/67145

  * simplify-rtx.c (simplify_plus_minus): Allow reassoc without
  simplification when all args are positive non-fixed registers.

From-SVN: r233916

8 years agoMinor ChangeLog formatting fixes.
Jakub Jelinek [Wed, 2 Mar 2016 20:30:48 +0000 (21:30 +0100)]
Minor ChangeLog formatting fixes.

From-SVN: r233915

8 years agotarget.def (lra_p): Specify that new ports should use LRA.
Manuel López-Ibáñez [Wed, 2 Mar 2016 20:17:15 +0000 (20:17 +0000)]
target.def (lra_p): Specify that new ports should use LRA.

2016-03-02  Manuel Lopez-Ibanez <manu@gcc.gnu.org>

       * target.def(lra_p): Specify that new ports should use LRA.

From-SVN: r233914

8 years agore PR libgomp/69555 (libgomp.c++/target-6.C fails because of undefined behaviour)
Jakub Jelinek [Wed, 2 Mar 2016 19:16:14 +0000 (20:16 +0100)]
re PR libgomp/69555 (libgomp.c++/target-6.C fails because of undefined behaviour)

PR libgomp/69555
* gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also
gimplify_type_sizes the type they refer to.
(omp_notice_variable): Handle reference vars to VLAs.
* omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE reference
to VLA decls in the second pass instead of first pass.

* testsuite/libgomp.c++/pr69555-1.C: New test.
* testsuite/libgomp.c++/pr69555-2.C: New test.

From-SVN: r233913

8 years agore PR middle-end/69987 (internal compiler error: in verify_loop_structure, at cfgloop...
Jeff Law [Wed, 2 Mar 2016 18:45:26 +0000 (11:45 -0700)]
re PR middle-end/69987 (internal compiler error: in verify_loop_structure, at cfgloop.c:1639)

PR tree-optimization/69987
* gfortran.dg/pr69987.f90: Use "-w" to avoid failures when the
target does not support -fprefetch-loop-arrays.

From-SVN: r233912

8 years agoelf.c (backtrace_initialize): Properly initialize elf_fileline_fn to avoid possible...
Max Ostapenko [Wed, 2 Mar 2016 16:32:55 +0000 (18:32 +0200)]
elf.c (backtrace_initialize): Properly initialize elf_fileline_fn to avoid possible crash.

libbacktrace/

2016-03-02  Maxim Ostapenko  <m.ostapenko@partner.samsung.com>

* elf.c (backtrace_initialize): Properly initialize elf_fileline_fn to
avoid possible crash.
(elf_add): Don't set *fileline_fn to elf_nodebug value in case of
missing debug info anymore.

From-SVN: r233911

8 years agobmi2-bzhi-2.c: Change to runtime test.
Uros Bizjak [Wed, 2 Mar 2016 15:38:21 +0000 (16:38 +0100)]
bmi2-bzhi-2.c: Change to runtime test.

* gcc.target/i386/bmi2-bzhi-2.c: Change to runtime test.

From-SVN: r233910

8 years agoHandle addr_expr and component_ref in graphite-ast-to-ast
Tom de Vries [Wed, 2 Mar 2016 15:10:34 +0000 (15:10 +0000)]
Handle addr_expr and component_ref in graphite-ast-to-ast

2016-03-02  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/68659
* graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle
new_expr == NULL_TREE.
(get_new_name): Handle ADDR_EXPR.

From-SVN: r233909

8 years agoCorrect ChangeLog for revision 233907.
Bin Cheng [Wed, 2 Mar 2016 14:16:00 +0000 (14:16 +0000)]
Correct ChangeLog for revision 233907.

From-SVN: r233908

8 years agore PR rtl-optimization/69052 (Performance regression after r229402.)
Bin Cheng [Wed, 2 Mar 2016 14:10:56 +0000 (14:10 +0000)]
re PR rtl-optimization/69052 (Performance regression after r229402.)

PR tree-optimization/69052
* loop-invariant.c (canonicalize_address): New function.
(inv_can_prop_to_addr_use): Check validity of address expression
which is canonicalized by above function.

gcc/testsuite/ChangeLog
PR tree-optimization/69052
* gcc.target/i386/pr69052.c: New test.

From-SVN: r233907

8 years agodecl alignment not respected
Alan Modra [Wed, 2 Mar 2016 14:05:21 +0000 (00:35 +1030)]
decl alignment not respected

This patch cures a problem with ICF of read-only variables at the
intersection of -fsection-anchors, -ftree-loop-vectorize, and targets
with alignment restrictions.

What happens with the testcase is:
- "c" is referenced in a constructor, thus make_decl_rtl for "c",
- make_decl_rtl puts "c" in an anchor block (-fsection-anchors),
- anchor block contents can't move, so "c" alignment can't change by
  ipa_increase_alignment (-ftree-loop-vectorize),
- however "a" alignment can be increased,
- ICF aliases "a" to "c".
So we have a decl for "a" saying it is aligned to 128 bits, using mem
for "c" which is only 16 bit aligned.

PR ipa/69990
gcc/
* ipa-icf.c (sem_variable::merge): Do not merge an alias with
larger alignment.
gcc/testsuite/
gcc.dg/pr69990.c: New.

From-SVN: r233906

8 years agore PR c/68062 (ICE when comparing vectors)
Jakub Jelinek [Wed, 2 Mar 2016 13:11:21 +0000 (14:11 +0100)]
re PR c/68062 (ICE when comparing vectors)

PR c/68062
* c-c++-common/vector-compare-4.c: Add -Wno-psabi to dg-options.

PR middle-end/70022
* gcc.dg/pr70022.c: Add -w -Wno-psabi to dg-options.

From-SVN: r233905

8 years agore PR target/70028 (Error: operand size mismatch for `kmovw' (wrong assembly generate...
Jakub Jelinek [Wed, 2 Mar 2016 13:10:36 +0000 (14:10 +0100)]
re PR target/70028 (Error: operand size mismatch for `kmovw' (wrong assembly generated) with -mavx512bw -masm=intel)

PR target/70028
* config/i386/i386.md (kmovw): Move m constraint to 2nd alternative.
(*movhi_internal): Put mask moves from and to memory separately
from moves from/to GPRs.

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

From-SVN: r233904

8 years agogenmatch.c (dt_node::gen_kids): Fix match code-gen for embedded GENERIC expressions...
Richard Biener [Wed, 2 Mar 2016 12:44:15 +0000 (12:44 +0000)]
genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded GENERIC expressions in GIMPLE.

2016-03-02  Richard Biener  <rguenther@suse.de>

* genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
GENERIC expressions in GIMPLE.

From-SVN: r233902

8 years agoi386.c (type_natural_mode): Fix typo.
Richard Biener [Wed, 2 Mar 2016 10:04:43 +0000 (10:04 +0000)]
i386.c (type_natural_mode): Fix typo.

2016-03-02  Richard Biener  <rguenther@suse.de>

* config/i386/i386.c (type_natural_mode): Fix typo.

From-SVN: r233901

8 years ago* config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.
Nick Clifton [Wed, 2 Mar 2016 09:53:05 +0000 (09:53 +0000)]
* config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.

From-SVN: r233900

8 years agoPrint markers to stderr to avoid races with sanitizer output
Maxim Kuvyrkov [Wed, 2 Mar 2016 09:38:09 +0000 (09:38 +0000)]
Print markers to stderr to avoid races with sanitizer output

* c-c++-common/asan/swapcontext-test-1.c,
* c-c++-common/tsan/thread_leak.c,
* g++.dg/tsan/aligned_vs_unaligned_race.C,
* g++.dg/tsan/benign_race.C,
* g++.dg/tsan/fd_close_norace.C,
* g++.dg/tsan/fd_close_norace2.C: Print markers to stderr to avoid
races with sanitizer output

From-SVN: r233899

8 years agore PR target/67278 (ICE: verify_gimple failed on darwin 14.5 x86_64)
Richard Biener [Wed, 2 Mar 2016 08:55:42 +0000 (08:55 +0000)]
re PR target/67278 (ICE: verify_gimple failed on darwin 14.5 x86_64)

2016-03-02  Richard Biener  <rguenther@suse.de>
Uros Bizjak  <ubizjak@gmail.com>

PR target/67278
* config/i386/i386.c (type_natural_mode): Handle XFmode vectors.

* gcc.dg/simd-8.c: New testcase.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r233898

8 years agore PR target/67278 (ICE: verify_gimple failed on darwin 14.5 x86_64)
Richard Biener [Wed, 2 Mar 2016 08:16:16 +0000 (08:16 +0000)]
re PR target/67278 (ICE: verify_gimple failed on darwin 14.5 x86_64)

2016-03-02  Richard Biener  <rguenther@suse.de>

PR middle-end/67278
* tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.

* gcc.dg/simd-7.c: New testcase.

From-SVN: r233897

8 years ago* gcc.target/i386/pr70007.c: Tweak.
Eric Botcazou [Wed, 2 Mar 2016 07:57:17 +0000 (07:57 +0000)]
* gcc.target/i386/pr70007.c: Tweak.

From-SVN: r233894

8 years agoS/390: Ada: Enable Stack_Check_Probes.
Dominik Vogt [Wed, 2 Mar 2016 07:50:29 +0000 (07:50 +0000)]
S/390: Ada: Enable Stack_Check_Probes.

gcc/ada/ChangeLog

* system-linux-s390.adsx: Enable Stack_Check_Probes.
* system-linux-s390.ads: Likewise.

From-SVN: r233893

8 years agoS/390: Reduce accuracy of bessel_6.f90.
Dominik Vogt [Wed, 2 Mar 2016 07:47:49 +0000 (07:47 +0000)]
S/390: Reduce accuracy of bessel_6.f90.

gcc/testsuite/ChangeLog

* gfortran.dg/bessel_6.f90: Reduce accuracy for S/390.

From-SVN: r233892

8 years agore PR c/67854 (Missing diagnostic for passing bool to va_arg)
Marek Polacek [Wed, 2 Mar 2016 07:24:19 +0000 (07:24 +0000)]
re PR c/67854 (Missing diagnostic for passing bool to va_arg)

PR c/67854
* gimplify.c (gimplify_va_arg_expr): Use expanded location for the
"is promoted to" warning.

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

From-SVN: r233891

8 years agore PR middle-end/70025 (Miscompilation of gc-7.4.2 on s390x starting with r227382)
Jakub Jelinek [Wed, 2 Mar 2016 06:58:05 +0000 (07:58 +0100)]
re PR middle-end/70025 (Miscompilation of gc-7.4.2 on s390x starting with r227382)

PR middle-end/70025
* gcc.dg/torture/pr70025.c: New test.

From-SVN: r233889

8 years agoAdjust test case in PR68621 to compile with -fpic.
Venkataramanan Kumar [Wed, 2 Mar 2016 06:14:43 +0000 (06:14 +0000)]
Adjust test case in PR68621 to compile with -fpic.

2016-03-02  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

        PR tree-optimization/68621
        * gcc.dg/tree-ssa/ifc-8.c: Adjust test.

From-SVN: r233888

8 years agoMAINTAINERS (mep): Remove myself as MeP maintainer.
DJ Delorie [Wed, 2 Mar 2016 04:41:58 +0000 (23:41 -0500)]
MAINTAINERS (mep): Remove myself as MeP maintainer.

* MAINTAINERS (mep): Remove myself as MeP maintainer.
* config.gcc: Deprecate mep-*.

From-SVN: r233887

8 years agore PR c++/70036 ([concepts] ICE with a dependent sizeof in a concept)
Jason Merrill [Wed, 2 Mar 2016 02:55:23 +0000 (21:55 -0500)]
re PR c++/70036 ([concepts] ICE with a dependent sizeof in a concept)

PR c++/70036

* parser.c (cp_parser_requires_clause): Call
check_for_bare_parameter_packs.

From-SVN: r233886

8 years ago* gcc/cp/call.c: Mark as C++ for emacs.
Jason Merrill [Wed, 2 Mar 2016 02:47:15 +0000 (21:47 -0500)]
* gcc/cp/call.c: Mark as C++ for emacs.

From-SVN: r233885

8 years agore PR c++/51489 (constexpr not working consistently)
Jason Merrill [Wed, 2 Mar 2016 02:32:44 +0000 (21:32 -0500)]
re PR c++/51489 (constexpr not working consistently)

PR c++/51489

* constexpr.c (cxx_eval_binary_expression): Don't VERIFY_CONSTANT
the operands.

From-SVN: r233878

8 years agore PR c++/69995 ([C++14] Invalid result when evaluating constexpr function)
Jason Merrill [Wed, 2 Mar 2016 02:32:38 +0000 (21:32 -0500)]
re PR c++/69995 ([C++14] Invalid result when evaluating constexpr function)

PR c++/69995

* constexpr.c (cxx_eval_call_expression): Unshare arg.
(cxx_eval_constant_expression) [DECL_EXPR]: Unshare init.
[TARGET_EXPR]: Unshare init.

From-SVN: r233877

8 years agore PR middle-end/70025 (Miscompilation of gc-7.4.2 on s390x starting with r227382)
Vladimir Makarov [Wed, 2 Mar 2016 01:39:30 +0000 (01:39 +0000)]
re PR middle-end/70025 (Miscompilation of gc-7.4.2 on s390x starting with r227382)

2016-03-01  Vladimir Makarov  <vmakarov@redhat.com>

PR middle-end/70025
* lra-constraints.c (regno_val_use_in): New.
(match_reload): Use it instead of regno_use_in.

From-SVN: r233876

8 years agoDaily bump.
GCC Administrator [Wed, 2 Mar 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r233874

8 years agore PR tree-optimization/69196 (code size regression with jump threading at -O2)
Jeff Law [Tue, 1 Mar 2016 23:12:10 +0000 (16:12 -0700)]
re PR tree-optimization/69196 (code size regression with jump threading at -O2)

PR tree-optimization/69196
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
Appropriately clamp the number of statements to copy when the
thread path does not traverse a loop backedge.

PR tree-optimization/69196
* gcc.dg/tree-ssa/pr69196.c: New test.

From-SVN: r233870

8 years agore PR rtl-optimization/70007 (wrong code with -mbmi2)
Eric Botcazou [Tue, 1 Mar 2016 22:31:52 +0000 (22:31 +0000)]
re PR rtl-optimization/70007 (wrong code with -mbmi2)

PR rtl-optimization/70007
* gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory
references present in REG_EQUAL notes attached to non-SET patterns.

From-SVN: r233867

8 years agore PR tree-optimization/69196 (code size regression with jump threading at -O2)
Jeff Law [Tue, 1 Mar 2016 21:46:58 +0000 (14:46 -0700)]
re PR tree-optimization/69196 (code size regression with jump threading at -O2)

PR tree-optimization/69196
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
Do count some PHIs in the thread path against the insn count.  Decrease
final statement count by one as the control statement in the last
block will get removed.  Remove special cased code for handling PHIs in the last block.

PR tree-optimization/69196
* gcc.dg/tree-ssa/vrp46.c: Twiddle threading params to keep it from
duplicating code and spoiling the expected output.

From-SVN: r233866

8 years agore PR target/70033 (PowerPC power9 tests don't have guard for power9 support)
Michael Meissner [Tue, 1 Mar 2016 21:31:47 +0000 (21:31 +0000)]
re PR target/70033 (PowerPC power9 tests don't have guard for power9 support)

2016-03-01  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/70033
* gcc.target/powerpc/p9-lxvx-stxvx-1.c: Make sure compiler
supports power9 before doing tests.
* gcc.target/powerpc/p9-lxvx-stxvx-2.c: Likewise.
* gcc.target/powerpc/p9-lxvx-stxvx-3.c: Likewise.
* gcc.target/powerpc/p9-permute.c: Likewise.

From-SVN: r233865

8 years agore PR target/70027 (invalid assembly syntax generated with -fno-plt -masm=intel)
Uros Bizjak [Tue, 1 Mar 2016 20:11:19 +0000 (21:11 +0100)]
re PR target/70027 (invalid assembly syntax generated with -fno-plt -masm=intel)

PR target/70027
* config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
asm dialect alternatives to explicit GOTPCREL calls.

testsuite/ChangeLog:

PR target/70027
* gcc.target/i386/pr70027.c: New test.

From-SVN: r233864

8 years agoFix date
Eric Botcazou [Tue, 1 Mar 2016 20:05:31 +0000 (20:05 +0000)]
Fix date

From-SVN: r233863

8 years agore PR ada/70017 (c52103x and c52104x test failure on s390x)
Eric Botcazou [Tue, 1 Mar 2016 20:04:01 +0000 (20:04 +0000)]
re PR ada/70017 (c52103x and c52104x test failure on s390x)

PR ada/70017
* ira.c (do_reload): Issue warning for generic stack checking here...
* reload1.c (reload): ...instead of here and streamline it.

From-SVN: r233862

8 years agore PR c/69796 (ICE on invalid code in useless_type_conversion_p, at gimple-expr.c:83)
Jakub Jelinek [Tue, 1 Mar 2016 18:27:21 +0000 (19:27 +0100)]
re PR c/69796 (ICE on invalid code in useless_type_conversion_p, at gimple-expr.c:83)

PR c/69796
PR c/69974
* c-parser.c (c_parser_translation_unit): Don't change TREE_TYPE
of incomplete decls to error_mark_node.

* gcc.dg/pr69796.c: New test.
* gcc.dg/pr69974.c: New test.

From-SVN: r233861

8 years ago* gnat.dg/stack_usage3.adb: Robustify and enable for all targets.
Eric Botcazou [Tue, 1 Mar 2016 17:33:51 +0000 (17:33 +0000)]
* gnat.dg/stack_usage3.adb: Robustify and enable for all targets.

From-SVN: r233859

8 years ago* config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
Nick Clifton [Tue, 1 Mar 2016 16:52:37 +0000 (16:52 +0000)]
* config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.

From-SVN: r233858

8 years agore PR middle-end/69987 (internal compiler error: in verify_loop_structure, at cfgloop...
Jeff Law [Tue, 1 Mar 2016 16:22:51 +0000 (09:22 -0700)]
re PR middle-end/69987 (internal compiler error: in verify_loop_structure, at cfgloop.c:1639)

PR tree-optimization/69987
* gfortran.dg/pr69987.f90: New test.

PR tree-optimization/69989
* gcc.c-torture/compile/pr69989-2.c: New test.

From-SVN: r233857

8 years agore PR middle-end/69983 (FAIL: gcc.dg/graphite/scop-sor.c scan-tree-dump-times graphit...
Richard Biener [Tue, 1 Mar 2016 15:58:25 +0000 (15:58 +0000)]
re PR middle-end/69983 (FAIL: gcc.dg/graphite/scop-sor.c scan-tree-dump-times graphite "number of SCoPs:  1" 1)

2016-03-01  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69983
* tree-chrec.c (eq_evolutions_p): Handle conversions, compare
types and fall back to operand_equal_p.

From-SVN: r233856

8 years agore PR c++/69795 (g++ ICE on invalid code on x86_64-linux-gnu in "reject_gcc_builtin")
Marek Polacek [Tue, 1 Mar 2016 15:30:42 +0000 (15:30 +0000)]
re PR c++/69795 (g++ ICE on invalid code on x86_64-linux-gnu in "reject_gcc_builtin")

PR c++/69795
* c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
any DECL.

* g++.dg/parse/invalid1.C: New test.

From-SVN: r233855

8 years agoS/390: Revert setmem pattern folding
Andreas Krebbel [Tue, 1 Mar 2016 14:53:29 +0000 (14:53 +0000)]
S/390: Revert setmem pattern folding

This does not work without:
https://gcc.gnu.org/ml/gcc-patches/2016-02/msg01575.html

2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

Revert
2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/constraints.md ("jm8"): New constraint.
* config/s390/predicates.md ("const_int_8bitset_operand"): New predicate.
* config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
into ...
("*setmem_long<setmem_and>"): New pattern.
("*setmem_long_31z", "*setmem_long_and_31z"): Merge
into ...
("*setmem_long_31z<setmem_and>"): New pattern.
* config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
New substitution rules with the required attributes.

From-SVN: r233854

8 years agoRevert recent gensupport change.
Andreas Krebbel [Tue, 1 Mar 2016 14:51:17 +0000 (14:51 +0000)]
Revert recent gensupport change.

2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

Revert
2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gensupport.c (process_substs_on_one_elem): Split loop to
complete mark_operands_used_in_match_dup on all expressions in the
vector first.
(adjust_operands_numbers): Inline into process_substs_on_one_elem
and remove function.

From-SVN: r233853

8 years agore PR middle-end/70022 (ICE: in tree_to_shwi, at tree.c:7328 with out-of-bounds vecto...
Richard Biener [Tue, 1 Mar 2016 13:32:13 +0000 (13:32 +0000)]
re PR middle-end/70022 (ICE: in tree_to_shwi, at tree.c:7328 with out-of-bounds vector index)

2016-03-01  Richard Biener  <rguenther@suse.de>

PR middle-end/70022
* fold-const.c (fold_indirect_ref_1): Fix range checking for
vector BIT_FIELD_REF extract.

* gcc.dg/pr70022.c: New testcase.

From-SVN: r233852

8 years agore PR target/69994 (test case gfortran.dg/reassoc_6.f fails starting with r233669)
Richard Biener [Tue, 1 Mar 2016 12:50:41 +0000 (12:50 +0000)]
re PR target/69994 (test case gfortran.dg/reassoc_6.f fails starting with r233669)

2016-03-01  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69994
* tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.

From-SVN: r233851

8 years agore PR tree-optimization/69956 (Wrong vector type @ fold-const)
Ilya Enkovich [Tue, 1 Mar 2016 11:17:44 +0000 (11:17 +0000)]
re PR tree-optimization/69956 (Wrong vector type @ fold-const)

gcc/

PR tree-optimization/69956
* tree-vect-stmts.c (supportable_widening_operation): Support
multi-step conversion of boolean vectors.
(supportable_narrowing_operation): Likewise.

gcc/testsuite/

PR tree-optimization/69956
* gcc.dg/pr69956.c: New test.

From-SVN: r233850

8 years agoS/390: Disallow SImode in s390_decompose_address
Andreas Krebbel [Tue, 1 Mar 2016 09:27:10 +0000 (09:27 +0000)]
S/390: Disallow SImode in s390_decompose_address

After Y is never used anymore with SImode operands we can finally
disallow SImode (if != Pmode) in s390_decompose_address.  In fact that
was the whole point of the patch series.

gcc/ChangeLog:

2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.c (s390_decompose_address): Don't accept SImode
anymore.

From-SVN: r233849

8 years agoS/390: Use define_subst for the setmem patterns.
Andreas Krebbel [Tue, 1 Mar 2016 09:26:20 +0000 (09:26 +0000)]
S/390: Use define_subst for the setmem patterns.

While trying to get rid of the Y constraint in the setmem patterns I
noticed that for these patterns it isn't even a problem since these
always only use the constraint with a Pmode match_operand.  But while
being at it I've tried to fold some of the patterns a bit.

gcc/ChangeLog:

2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/constraints.md ("jm8"): New constraint.
* config/s390/predicates.md ("const_int_8bitset_operand"): New predicate.
* config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
into ...
("*setmem_long<setmem_and>"): New pattern.
("*setmem_long_31z", "*setmem_long_and_31z"): Merge
into ...
("*setmem_long_31z<setmem_and>"): New pattern.
* config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
New substitution rules with the required attributes.

From-SVN: r233848

8 years agoS/390: Get rid of Y constraint in vector.md.
Andreas Krebbel [Tue, 1 Mar 2016 09:25:23 +0000 (09:25 +0000)]
S/390: Get rid of Y constraint in vector.md.

This finally removes the Y constraint from the vector patterns while
folding some of them using a code iterator.

gcc/ChangeLog:

2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/subst.md (DSI_VI): New mode iterator.
("addr_style_op_subst"): Use DSI_VI instead of DSI.
* config/s390/vector.md ("vec_set<mode>"): Move expander before
the insn definition.
("*vec_set<mode>"): Change predicate and add alternative to
support only either register or const_int operands as element
selector.
("*vec_set<mode>_plus"): New pattern to support reg + const_int
operands.
("vec_extract<mode>"): New expander.
("*vec_extract<mode>"): New insn definition supporting reg and
const_int element selectors.
("*vec_extract<mode>_plus"): New insn definition supporting
reg+const_int element selectors.
("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
following expander+insn definition.
("<vec_shifts_name><mode>3"): New expander.
("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.

From-SVN: r233847

8 years agoS/390: Get rid of Y constraint in tabort.
Andreas Krebbel [Tue, 1 Mar 2016 09:24:29 +0000 (09:24 +0000)]
S/390: Get rid of Y constraint in tabort.

This removes the Y constraint from the tabort pattern definition.  In
this case it is easier without using substitutions.

gcc/ChangeLog:

2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.md ("*tabort_1"): Change predicate to
nonmemory_operand.  Add a second alternative to cover
register as well as const int operands.
("*tabort_1_plus"): New pattern definition.

From-SVN: r233846