[llvm-commits] [RFC/PATCH] PPCDoubleDouble compile-time arithmetic
baldrick at free.fr
Mon Oct 29 05:15:25 PDT 2012
> I think we should add the possibility of exposing the internals of long
> double to the lengthy list of PowerPC tasks, but as Hal indicated, it
> will be a rather large step and not simple; so it would be appropriate
> to treat this as a longer term effort. Because "long double" is a
> special entity at the ABI level and has its own rules for parameter
> passing, structural layout, and so forth, care would have to be taken to
> ensure the "long-doubleness" remains visible at function call boundaries
> and when calculating alignment. Within structures, a pair of contiguous
> doubles has 8-byte alignment, but a long double has 16-byte alignment.
> I am sure all these issues can be solved with sufficient hackery, I mean
> design ;), but it requires careful thought and nontrivial effort.
hopefully we are agree that these are all front-end issues (clang) not
something the LLVM ppc target has to take care of, as the front-end is
responsible for taking care of ABI conformance, struct layout etc.
> Right now we are working hard just to get the PPC64 ELF backend into ABI
> compliance, and there is much remaining work before that will be
> completed. Having a functional long double implementation will be a big
> step for eventually getting LLVM/Clang to self-host on 64-bit PowerPC
> Linux. After we all have more experience with LLVM/Clang, optimizations
> such as you suggest here will be more feasible for us to implement.
> If it's OK with you, I'd like to record this discussion in our list of
> eventual work items, but for now Uli's patch will really be a
> significant milestone for us. I hope that seems reasonable.
More information about the llvm-commits