This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libgcc/66382] POWER8 Vector optimized implementation of __float128 (IEEE754 128-bit Binary Floating Point)


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

Segher Boessenkool <segher at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |segher at gcc dot gnu.org

--- Comment #6 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Given the following program:

__float128 f(__float128 a, __float128 b) { return a*b; }

When compiled with:

gcc -Wall -W -O2 mulf.c -mfloat128 -mcpu=power8

you currently get (boring stuff cut out):

        mflr 0
        std 0,16(1)
        stdu 1,-32(1)
        bl __mulkf3
        nop
        addi 1,1,32
        ld 0,16(1)
        mtlr 0
        blr

The task is to either optimise __mulkf3 to use vector math, or to
expand it inline even, where that make sense (this may more often
make sense with -ffast-math).

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]