https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72736

--- Comment #6 from Jeffrey Walton <noloader at gmail dot com> ---
(In reply to James Greenhalgh from comment #5)
> (In reply to Jeffrey Walton from comment #4)
> > Thanks, and sorry to waste your time with it.
> > 
> > Before I spin up another report that wastes a lot time, does this look like
> > another issue with me (likely), or an issue with GCC (unlikely):
> > 
> > internal compiler error: in expand_shift_1, at expmed.c:2318
> >    result = (r1 != r2);
> > 
> > Here's a quick copy/paste of the relevant pieces. I'll do the minimal
> > working example if needed.
> > 
> > 
> >     // Executed with a sig_handler guard
> >     volatile bool result = true;
> >     ...
> > 
> >     const poly64_t a1={1}, b1={2};
> >     const poly64x2_t a2={1}, b2={2};
> >     const poly128_t r1 = vmull_p64(a1, b1);
> >     const poly128_t r2 = vmull_high_p64(a2, b2);
> > 
> >     result = (r1 != r2);
> 
> Internal compiler errors are almost never *your* fault, the compiler should
> gracefully handle most of what you throw at it. If you can build a minimum
> working example that would be handy ...

OK, thanks. Done at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72738 .

> (though note that GCC 4.9 is getting old
> now, and the branch is due to close permanently in the very near future, so
> unless this reproduces on 5/6/trunk we're probably past the point where it
> would get looked at and fixed).

Yeah, it is a bit dated. Debian is still supplying 4.9 with Jessie stable, so
its fairly ubiquitous. Its on nearly every test machine I have, including IoT
gadgets like BeagleBones, CunieTrucks, Raspberry Pi's, Banana Pi's, and HiKeys.

Reply via email to