https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118541
--- Comment #1 from Jeevitha <jeevitha at gcc dot gnu.org> --- This issue arises from a glibc math function. Below is the discussion from the glibc mailing list conversation between Florian and Adhemerval. I saw this when building for POWER10 and it seems a compiler issue to me, where gcc generates: 0x00007ffff7eb0280 <+64>: fdiv f0,f1,f0 0x00007ffff7eb0284 <+68>: mtlr r0 => 0x00007ffff7eb0288 <+72>: xscmpgtdp vs1,vs0,vs31 0x00007ffff7eb028c <+76>: xxsel vs1,vs0,vs31,vs1 For FLOAT ret = M_SUF (__ieee754_acos) (x) / M_MLIT (M_PI); /* Ensure that rounding upward for both acos and the division cannot yield a return value from acospi greater than 1. */ return isgreater (ret, M_LIT (1.0)) ? M_LIT (1.0) : ret; I don't think compiler is allowed to transform this expression to xscmpgtdp for unordered operations.