[RS6000] lqarx and stqcx. registers

2016-01-31 Thread Alan Modra
lqarx RT and stqcx. RS are valid only with even numbered gprs. The predicate to enforce this happens to allow a loophole, closed by this patch. This pattern created by combine: Trying 8 -> 9: Successfully matched this instruction: (set (subreg:PTI (reg:TI 155 [ D.2357 ]) 0)

Combine simplify_set WORD_REGISTER_OPERATIONS

2016-01-31 Thread Alan Modra
The comment says this test is supposed to prevent "a narrower operation than requested", but it actually only allows a larger subreg, not one the same size. Fix that. Bootstrapped and regression tested powerpc64-linux. OK for stage1? Note that this bug was found when investigating why gcc-6

Re: Combine simplify_set WORD_REGISTER_OPERATIONS

2016-01-31 Thread Segher Boessenkool
On Mon, Feb 01, 2016 at 08:46:42AM +1030, Alan Modra wrote: > The comment says this test is supposed to prevent "a narrower > operation than requested", but it actually only allows a larger > subreg, not one the same size. Fix that. > > Bootstrapped and regression tested powerpc64-linux. OK for

[committed] Fix failure of g++.dg/parse/parens3.C on hppa

2016-01-31 Thread John David Anglin
The attached change uses a different register to avoid ICEing in dwarf2out_frame_debug_expr. Tested on hppa2.0w-hp-hpux11.11 and hppa64-hp-hpux11.11. Committed to trunk. Dave -- John David Anglin dave.ang...@bell.net 2016-01-31 John David Anglin PR

Re: Combine simplify_set WORD_REGISTER_OPERATIONS

2016-01-31 Thread Alan Modra
On Sun, Jan 31, 2016 at 06:02:35PM -0600, Segher Boessenkool wrote: > On Mon, Feb 01, 2016 at 08:46:42AM +1030, Alan Modra wrote: > > The comment says this test is supposed to prevent "a narrower > > operation than requested", but it actually only allows a larger > > subreg, not one the same size.

[PATCH] gcc: invoke: delete -mno-fma4 docs

2016-01-31 Thread Mike Frysinger
We don't document the -mno-xxx variants for other flags here, and the paragraph here specifically says "Each has a corresponding -mno- option to disable use of these instructions". Drop the -mno-fma4 line. 2016-01-31 Mike Frysinger * doc/invoke.texi: Delete

[committed] Fix pr69535

2016-01-31 Thread Richard Henderson
We stripped a paradoxical subreg, whose unspecified bits had been masked by an AND. Combine converted that into a ZERO_EXTRACT, but in the narrower mode. The end of make_compound_operation deals with mode mismatches by creating another paradoxical subreg. However, this time the unspecified

[committed] Fix failure of gcc.dg/tree-ssa/vector-5.c on hppa*-*-hpux*

2016-01-31 Thread John David Anglin
Need to add -fno-common. Tested on hppa2.0w-hp-hpux11.11. Committed to trunk. Dave -- John David Anglin dave.ang...@bell.net 2016-01-31 John David Anglin * gcc.dg/tree-ssa/vector-5.c: Add -fno-common option on hppa*-*-hpux*. Index:

[committed] Fix regexps in gcc.dg/tree-ssa/sra-1[78].c for hpux

2016-01-31 Thread John David Anglin
On hpux, we have "L$C" instead of "LC" and four digits in the numeric part of the label. Some backslashes have been removed. Tested on hppa2.0w-hp-hpux11.11. Committed to trunk. Dave -- John David Anglin dave.ang...@bell.net 2016-01-31 John David Anglin

PING [PATCH] fix #69251 - [6 Regression] ICE in unify_array_domain on a flexible array member

2016-01-31 Thread Martin Sebor
Jason, Have you had a chance to review the patch below and consider the ABI ramifications I mentioned? https://gcc.gnu.org/ml/gcc-patches/2016-01/msg01901.html Thanks Martin On 01/25/2016 09:55 AM, Martin Sebor wrote: On 01/21/2016 04:32 PM, Martin Sebor wrote: On 01/21/2016 04:19 PM,

Re: [RS6000] ABI_V4 init of toc section

2016-01-31 Thread Alan Modra
This is the more comprehensive fix for PR68662, the one I'm a little nervous about applying during stage4. OK for when stage1 opens? Applying this patch makes https://gcc.gnu.org/ml/gcc-patches/2016-01/msg02325.html redundant, but I'm inclined to leave it in: Not initializing the toc symbol at

[PING] [PATCH] target/68972 - g++.dg/cpp1y/vla-initlist1.C test case fails on powerpc64le

2016-01-31 Thread Martin Sebor
Jason, Do you have any further comments on the changes to the test or is it okay to check it? https://gcc.gnu.org/ml/gcc-patches/2016-01/msg02245.html In light of the powerpc64le behavior I did not make any changes to verify the no-op VLA initialization does not in fact write into the space

[committed] Fix declaration of vsscanf on hpux

2016-01-31 Thread John David Anglin
The attached hack fixes missing const from the first argument of the declararation for vsscanf on hpux. This has been present forever. sscanf is correctly declared, so I presume this is a typo. I limited the fix to hpux since stage3 is over. Tested on hppa2.0w-hp-hpux11.11. Committed to

C++ PATCHes for abi_tag bugs

2016-01-31 Thread Jason Merrill
These patches fix a couple of abi_tag bugs that were reported to me recently. The first is an issue whereby all instantiations of a class template were sharing tags, so instantiating a template with a tagged type argument would apply the tag to another instantiation. Oops. The second is an

C++ PATCH for c++/69009 (ICE with partial specialization of variable template)

2016-01-31 Thread Jason Merrill
In this testcase, instantiate_decl was trying to look up an instantiation of a partial specialization using the arguments for the partial specialization on the primary template, which finds a different instance of the template. Fixed by reconstructing the arguments to the primary template.

[Patch, fortran] PR67564 Segfault on sourced allocation statement with class(*) arrays

2016-01-31 Thread Paul Richard Thomas
Dear All, 2016-01-31 Paul Thomas PR fortran/67564 * trans-expr.c (gfc_conv_procedure_call): For the vtable copy subroutines, add a string length argument, when the actual argument is an unlimited polymorphic class object. 2016-01-31 Paul Thomas

C++ PATCH for c++/68763 (ICE in verify_unstripped_args)

2016-01-31 Thread Jason Merrill
The problem in this testcase is that the C++ front end modifies the TYPE_PURPOSE of TYPE_ARG_TYPES after a function type has been created and added to the hash table, so a later creation of an equivalent function type won't necessarily find the earlier type. Usually this just means extra