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