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

Anton Korobeynikov anton at korobeynikov.info
Fri Nov 11 01:15:37 PST 2011


>>> 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.
Well, same for z/System (in fact everything is done there on a pair of
f64 regs). I just introduced special "pair" pseudo-registers
containing the pairs of ordinary f64 and got everything worked.

-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University




More information about the llvm-commits mailing list