i386/sse.md:round<mode>2 skips operands[2] -> -O0 warning

Jakub Jelinek jakub@redhat.com
Thu Jun 22 10:06:00 GMT 2017


On Thu, Jun 22, 2017 at 07:00:59AM -0300, Alexandre Oliva wrote:
> [adding the list]
> 
> On Jun  8, 2017, Uros Bizjak <ubizjak@gmail.com> wrote:
> 
> > On Thu, Jun 8, 2017 at 9:22 PM, Alexandre Oliva <aoliva@redhat.com> wrote:
> >> I was playing with bootstrap STAGE2_C{,XX}FLAGS='-O0 -fcompare-debug' to
> >> test some changes I'm working on, and -Werror in stage2 prevented
> >> compilation of one of the insn-*.c files.  That's because round<mode>2
> >> doesn't have an operand 2.  The generated code for round<mode>2_sfix
> >> calls the corresponding gen_round<mode>2, and then something in there
> >> attempts to access the uninitialized operand, which the stage1 GCC warns
> >> about and errors out because of -Werror.
> >> 
> >> I'll be glad to test and submit a patch for this, but I thought I'd ask
> >> whether you'd prefer to leave this alone, to have it fixed it with a
> >> minimal diff as below, or with a renumbering of all operands >=3 to >=2?
> 
> > These operands are already pretty weirdly numbered, so the below looks
> > appropriate as well.
> 
> > The proposed patch is OK.
> 
> Thanks, I'm checking this in.  Regstrapped on x86_64-linux-gnu.

I bet it won't apply, I didn't know you were looking at this;
Martin Liska filed PR81151 recently and I've fixed it yesterday.

	Jakub



More information about the Gcc-patches mailing list