[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
Dale Johannesen
dalej at apple.com
Fri Aug 3 14:49:05 PDT 2007
On Aug 3, 2007, at 2:06 PM, Dan Gohman wrote:
>> --- llvm/trunk/lib/Target/X86/X86TargetMachine.cpp (original)
>> +++ llvm/trunk/lib/Target/X86/X86TargetMachine.cpp Fri Aug 3
>> 15:20:50 2007
>> @@ -115,8 +115,8 @@
>> bool is64Bit)
>> : Subtarget(M, FS, is64Bit),
>> DataLayout(Subtarget.is64Bit() ?
>> - std::string("e-p:64:64-f64:32:64-i64:32:64") :
>> - std::string("e-p:32:32-f64:32:64-i64:32:64")),
>> + std::string("e-p:64:64-f64:32:64-i64:32:64-
>> f80:128:128") :
>> + std::string("e-p:32:32-f64:32:64-i64:32:64-
>> f80:128:128")),
>
> sizeof(long double) on i686-pc-linux-gnu (32-bit) is 12, and
> __alignof is 4.
Thanks, I'll make this OS-dependent as well.
>> + 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 (with a relatively short name - 80
columns you know. Wonder how many LLVM hackers have ever seen a
punched card....)
> 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. (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.)
More information about the llvm-commits
mailing list