On 9/9/17 3:44 AM, Andreas Schwab wrote:
> On Sep 08 2017, Peter Bergner <berg...@vnet.ibm.com> wrote:
> 
>> The following patch fixes the problem I saw on Linux and bootstraps and 
>> regtests
>> with no regressions on LE and BE (running testsuite in both 32-bit and 64-bit
>> modes).  I was waiting to submit this until David had a chance to verify this
>> fixes the problem on AIX.
> 
> I've verified that this fixes the ICE.

So it seems this is only a partial fix.  If I modify the test case to
move the #pragma to the start of the file, we still ICE with the same
error.

Clearly, we're not disabling the generation of the HW sqrt in the
optabs when we should.  Basically, this is the opposite problem
than the pr80210.c test case.

Peter


bergner@bns:~/gcc/BUGS/PR80210> cat no-sqrt.i
#pragma GCC target "no-powerpc-gpopt"
double
foo (double a)
{
  return __builtin_sqrt (a);
}
bergner@bns:~/gcc/BUGS/PR80210>
/home/bergner/gcc/build/gcc-fsf-mainline-pr80210-64/gcc/xgcc
-B/home/bergner/gcc/build/gcc-fsf-mainline-pr80210-64/gcc -O2 -S no-sqrt.i
no-sqrt.i: In function ‘foo’:
no-sqrt.i:6:1: error: unrecognizable insn:
 }
 ^
(insn 6 3 7 2 (set (reg:DF 121 [ <retval> ])
        (sqrt:DF (reg/v:DF 122 [ a ]))) "no-sqrt.i":5 -1
     (nil))
during RTL pass: vregs
no-sqrt.i:6:1: internal compiler error: in extract_insn, at recog.c:2311

Reply via email to