On 19 February 2015 at 21:14, Richard Henderson <r...@twiddle.net> wrote: > The resulting aarch64 translation is a bit cleaner. > Sign-extending from 32-bits is simpler than having > to use setcond to narrow from 64-bits. > > Signed-off-by: Richard Henderson <r...@twiddle.net>
> @@ -4545,6 +4548,9 @@ void aarch64_sync_64_to_32(CPUARMState *env) > env->regs[i] = env->xregs[i]; > } > > + /* Need to compress Z into the low bits. */ > + env->ZF = (env->ZF != 0); > + I really don't like this. Having state with a different format in 32-bit and 64-bit modes is asking for trouble -- the bits we already have to convert are already awkward enough. I'd much rather we stuck with a format where env->ZF is the same regardless of register width, as we have now. -- PMM