[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 6/7] tcg: Introduce zero and sign-extended ve
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH v2 6/7] tcg: Introduce zero and sign-extended versions of load helpers |
Date: |
Fri, 30 Aug 2013 10:20:23 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130805 Thunderbird/17.0.8 |
On 08/30/2013 09:55 AM, Aurelien Jarno wrote:
> While it works for x86 and some other architectures, it makes the
> assumption that only part of the register can be used later by the TCG
> code. It won't be the case if we later (and I hope we will) implement a
> MIPS64 TCG target. In that case, a 32-bit value has to be returned
> signed extended, which won't be the case for example for a 32-bit guest
> loading a 16-bit unsigned value.
This doesn't break the mips64 abi, since we'll be returning a 64-bit value, not
a 32-bit value that needs sign-extension.
Given a mips64 host with 32-bit guest, the sign-extension of the 32-bit load
can either happen by using helper_ret_ldsl_mmu in the table of helper
functions, or by using an sll insn instead of a move to put the value into
place at the end of the slow path.
I have more or less the same constraint in my as-yet unsubmitted Alpha backend.
r~
- [Qemu-devel] [PATCH v2 2/7] tcg-i386: Don't perform GETPC adjustment in TCG code, (continued)
- [Qemu-devel] [PATCH v2 2/7] tcg-i386: Don't perform GETPC adjustment in TCG code, Richard Henderson, 2013/08/29
- [Qemu-devel] [PATCH v2 3/7] exec: Rename USUFFIX to LSUFFIX, Richard Henderson, 2013/08/29
- [Qemu-devel] [PATCH v2 4/7] target: Include softmmu_exec.h where forgotten, Richard Henderson, 2013/08/29
- [Qemu-devel] [PATCH v2 5/7] exec: Split softmmu_defs.h, Richard Henderson, 2013/08/29
- [Qemu-devel] [PATCH v2 6/7] tcg: Introduce zero and sign-extended versions of load helpers, Richard Henderson, 2013/08/29
[Qemu-devel] [PATCH v2 7/7] tcg-i386: Make use of zero-extended memory helper routines, Richard Henderson, 2013/08/29