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

--- Comment #10 from luoxhu at gcc dot gnu.org ---

If not built with fast-math, gimple_has_side_effects will return true and cause
the expand_call_stmt fail to expand the "_1 = fmod (x_2(D), y_3(D));" to
internal function. X86 also produces "bl fmod" for O3 build.


xlF expands the fmod to below ASM, no FMA generated?


0000000010000900 <ggl>:
    10000900:   8c 03 01 10     vspltisw v0,1
    10000904:   00 00 24 c8     lfd     f1,0(r4)
    10000908:   00 00 03 c8     lfd     f0,0(r3)
    1000090c:   e2 03 40 f0     xvcvsxwdp vs2,vs32
    10000910:   c0 09 62 f0     xsdivdp vs3,vs2,vs1
    10000914:   80 19 80 f0     xsmuldp vs4,vs0,vs3
    10000918:   64 21 a0 f0     xsrdpiz vs5,vs4
    1000091c:   88 2d 01 f0     xsnmsubadp vs0,vs1,vs5
    10000920:   18 00 20 fc     frsp    f1,f0
    10000924:   20 00 80 4e     blr

Reply via email to