FPU emulation incorrect for 68LC040?

Mattias Engdegård
2010-07-21T20:22:12Z

Does anyone know whether a 68LC040 alters the address register in
postincrement/predecrement modes when it calculates the effective
address for an FP instruction? The FPU emulation in the kernel seems
to assume that it doesn't, but that doesn't really make sense.

If the 'LC040 does increment a0 in fadd.d (a0)+,fp0, say, then the
Linux FPU emulation is quite broken, at least in 2.6.34. If not, then
I have misunderstood how the hardware works.

I'm writing a 68040/68LC040 simulator and unfortunately do not have a
real 'LC040 to do experiments on. If someone with actual hardware
could help me, I'd be most grateful.