> Matthew Fortune <matthew.fort...@imgtec.com> writes: > > I'm still interested in how successfully the MIPS backend is managing > > to avoid floating point but I am also convinced there are bugs in > > ld.so entry points for MIPS. > > It uses the standard mechanism to avoid it, which is marking uses of FP > registers for integer moves, loads and stores with "*". This tells the > register > allocator to ignore those alternatives. AFAIK it is effective and I think any > cases where it doesn't work would be fair bug reports.
I understand that '*' has no effect on whether reload/LRA will use the alternative though so I take that to mean they could still allocate FP regs as part of an integer move? > It becomes a lot more difficult to define with things like the Loongson > extensions though, since some of those are also useful as scalar integer > operations. And of course the same goes for MSA. Indeed. Avoiding FP registers 99.9% of time is fine for performance, it's the potential 0.1% I'm concerned about for correctness. I'm tending towards accounting for potential FPU usage even from integer only source just to be safe. I don't want to ever be the one debugging something like ld.so in the face of this kind of bug. I'll move the discussion to glibc regarding ld.so. Regards, Matthew