[Bug target/92042] New: Missing rcpss optimization

crazylht at gmail dot com gcc-bugzilla@gcc.gnu.org
Thu Oct 10 04:44:00 GMT 2019


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

            Bug ID: 92042
           Summary: Missing rcpss optimization
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: crazylht at gmail dot com
                CC: hjl.tools at gmail dot com, lili.cui at intel dot com,
                    skpgkp2 at gmail dot com, wwwhhhyyy333 at gmail dot com
  Target Milestone: ---

For testcase

float foo (float f1)
{
  return 1.0 / f1 ;
}

gcc20190919 -Ofast -march=skylake-avx512 -S test.c -S

got

foo:
        vmovss  .LC0(%rip), %xmm1
        vdivss  %xmm0, %xmm1, %xmm0
        ret

But sse/avx has rcpss/vrcpss, which could be better to generate

foo:
       vrcpss %xmm0, %xmm0, %xmm0
       ret


More information about the Gcc-bugs mailing list