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.)
_______________________________________________
llvm-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits