On Sat, Jun 9, 2012 at 10:40 AM, Richard Henderson <r...@twiddle.net> wrote:
> Nope. I do see the obvious mistake in the atomic_load pattern though: > The mode iterator should have been INT1 not INT. Did you want to commit the fix for the iterator? > ... and for extra credit we ought to implement DImode atomic load/store > via the FPU, like we do for i386. Yes, however the PPC embedded community used to complain about FP loads and stores generated by the movdi pattern in 32 bit mode. "Why is this function using FPRs when it does not contain any floating point operations?". This is for a processor with an FPU, but the developer does not want extraneous FPR usage that will force a lazy FP save in the kernel. In other words, one can use FPRs if the function already explicitly uses FP operations in user code, but the compiler should not introduce it. This seems to require scanning each function for floating point usage before allowing FPRs for DImode load/store operations. I like your suggestion, but the PowerPC developer community does not uniformly appreciate that behavior. Thanks, David