[LLVMdev] APFloat::PPCDoubleDouble arithmetic

Chris Lattner clattner at apple.com
Sun Jun 24 18:08:22 PDT 2012


On Jun 24, 2012, at 11:36 AM, Konstantin Tokarev wrote:
> Hi all,
> 
> What changes to LLVM are needed to support arithmetic for PPCDoubleDouble?
> 
> arithmeticOK == false for PPCDoubleDouble leads e.g. to assert "Compile-time arithmetic does not support these semantics" when compiling the next function on PowerPC with clang:
> 
> double quiet_NaN()
> {
>    return 4.94065645841246544176568792868221e-324L;
> }

Hi Konstantin,

After poking at this for quite some time, there is general agreement that the PPC doubledouble format should be removed from LLVM IR and from APFloat and it should instead be handled by the frontend.  If the frontend lowered long double to the appropriate double pair (and exposed all relevant operations in IR) then there would be no need for the complexity in the optimizer.

-Chris




More information about the llvm-dev mailing list