[llvm-commits] [PATCH][Review request] IEEE quad software emulation library call

Duncan Sands baldrick at free.fr
Thu Nov 10 20:10:29 PST 2011


Hi Akira,

> It seems that there are several places in LegalizeFloatTypes.cpp in which nodes are expanded in a ppcf128-specific way. If that is the case, using ppcf128 in place of f128 will be incorrect.

that's true.  It would be nice to fix it.

Ciao, Duncan.

> Is i128 the type that should be set for RegisterTypeForVT[f128]?
>
> ________________________________________
> From: Eli Friedman [eli.friedman at gmail.com]
> Sent: Thursday, November 10, 2011 9:07 AM
> To: Anton Korobeynikov
> Cc: Hatanaka, Akira; llvm-commits at cs.uiuc.edu
> Subject: Re: [llvm-commits] [PATCH][Review request] IEEE quad software emulation library call
>
> On Thu, Nov 10, 2011 at 6:04 AM, Anton Korobeynikov
> <anton at korobeynikov.info>  wrote:
>>> Well, the fact that it's in two f64 registers is really a property of
>>> the calling convention, not a fundamental property of f128... unlike
>>> f128, ppcf128 is actually a pair of f64's, so it isn't really the best
>>> example to follow.  I'm not sure the calling convention handling code
>>> can handle this properly at the moment, though... if nobody else has a
>>> suggestion, it's okay as-is, I guess, but at least add a comment to
>>> explain what is going on.
>> This is definitely a MIPS-specific stuff. There are a lot of examples
>> of "real" f128, e.g.
>> Sparc and (removed in ToT) z/System. Thus it should be either
>> generalized to allow all possible representations, or, perhaps MIPS
>> can just use ppcf128 as well.
>
> MIPS is using "real" f128 as well; the calling convention just
> requires placing it into two f64 registers.
>
> -Eli
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list