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

--- Comment #9 from Stefan Schulze Frielinghaus <stefansf at gcc dot gnu.org> 
---
Argh I forgot to add the isnormal optab for this PR. Just attached it. With
this I get for an unoptimized run

gm2 testisnormal.mod -O0 -S -c -fdump-tree-optimized

grep brasl testisnormal.s
        brasl   %r14,test@PLT
        brasl   %r14,printf@PLT
        brasl   %r14,printf@PLT
        brasl   %r14,exit@PLT
        brasl   %r14,memcpy@PLT
        brasl   %r14,memcpy@PLT
        brasl   %r14,printf@PLT
        brasl   %r14,__builtin_isnormal@PLT
        brasl   %r14,printf@PLT
        brasl   %r14,assert@PLT
        brasl   %r14,m2pim_M2RTS_RegisterModule@PLT
        brasl   %r14,m2pim_M2RTS_RequestDependant@PLT
        brasl   %r14,m2pim_M2RTS_RequestDependant@PLT
        brasl   %r14,m2pim_M2RTS_RequestDependant@PLT
        brasl   %r14,m2pim_M2RTS_RequestDependant@PLT

because the call side doesn't match a builtin call:

  <bb 2> :
  _T42_3 = isnormal (1.0e+0);
  result_4 = _T42_3;
  _T43_5 = "isnormal (1.0) = %d\n";
  _8 = printf (_T43_5, result_4);
  _T44_9 = _8;
  if (result_4 != 1)
    goto <bb 4>; [INV]
  else
    goto <bb 3>; [INV]

Reply via email to