[llvm-commits] [llvm] r40792 - in /llvm/trunk/lib/Target: Alpha/AlphaTargetMachine.cpp IA64/IA64TargetMachine.cpp PowerPC/PPCSubtarget.h Sparc/SparcTargetMachine.cpp TargetData.cpp X86/X86TargetMachine.cpp

Chris Lattner clattner at apple.com
Fri Aug 3 17:05:53 PDT 2007


>>> +    PPC_FP128TyID,   ///<  5: 128 bit floating point type (two 64-
>>> bits)
>>
>> Is there a different name for this? PowerPC isn't the only platform
>> that
>> uses (or could use) a double-double approach.
>
> What other target does?  I've no objection to renaming if you have a
> more descriptive suggestion

I agree this seems common too, and if we know of a target that has  
it, we can pick a name.  However, I also think it is reasonable to  
just start out with this name and rename/generalize it down the road  
if we find a need for it.

> (with a relatively short name - 80
> columns you know.  Wonder how many LLVM hackers have ever seen a
> punched card....)

Poor Dale :)

>> Also, what LLVM instruction would be used for conversions between  
>> this
>> type and the regular FP128 type?
>
> I don't see a short-term need to support this; they don't exist
> simultaneously on any target AFAIK.

Right, I think we can just define some convention and stick to it.  I  
don't expect to see code that does this in practice.  We could just  
define "ppc" 128-bit as smaller than IEEE 128-bit, since it is less  
general, for example.

> (Having this target dependency
> in the IR is unfortunate, IMO; if there were a single "long double"
> type you couldn't even ask that question.  But as long as the FEs are
> responsible for decimal->binary constant conversion we're stuck with
> it.)

Yep, not only that, but the middle-end needs to know how to constant  
fold correctly etc.

-Chris




More information about the llvm-commits mailing list