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 llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits