> By my reading this get f0 and f1 the wrong way round on little-endian > hosts. Should this be(omitting uint32 *casts for clarity): > > tmp = env->fpr[i]; > tmp |= env->fpr[i + 1]; > registers[i/2 + 32] = tswap64(tmp)
Argh. What I meant was: tmp = env->fpr[i] << 32; tmp |= env->fpr[i + 1]; registers[i/2 + 32] = tswap64(tmp) Paul