]> rtime.felk.cvut.cz Git - lisovros/qemu_apohw.git/commit
tcg: fix deposit_i64 op on 32-bit targets
authorAurelien Jarno <aurelien@aurel32.net>
Sat, 20 Apr 2013 22:42:56 +0000 (00:42 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Fri, 26 Apr 2013 23:10:18 +0000 (01:10 +0200)
commited605126a8d826e60587cc21d9e7b95e8c49b6f6
treeb92dba459de831df8b2e950e178ee70f6d080bf8
parent909eedb74f88d1d6d9e6bbdc34875772e7a8a5ab
tcg: fix deposit_i64 op on 32-bit targets

On 32-bit TCG targets, when emulating deposit_i64 with a mov_i32 +
deposit_i32, care should be taken to not overwrite the low part of
the second argument before the deposit when it is the same the
destination.

This fixes the shld instruction in qemu-system-x86_64, which in turns
fixes booting "system rescue CD version 2.8.0" on this target.

Reported-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
tcg/tcg-op.h