[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 09/16] target/arm: Add predicate registers fo
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH v2 09/16] target/arm: Add predicate registers for SVE |
Date: |
Mon, 22 Jan 2018 12:04:21 +0000 |
User-agent: |
mu4e 1.0-alpha3; emacs 26.0.91 |
Richard Henderson <address@hidden> writes:
> Signed-off-by: Richard Henderson <address@hidden>
> ---
> target/arm/cpu.h | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/target/arm/cpu.h b/target/arm/cpu.h
> index 57d805b5d8..132da359b5 100644
> --- a/target/arm/cpu.h
> +++ b/target/arm/cpu.h
> @@ -186,6 +186,15 @@ typedef struct ARMVectorReg {
> uint64_t d[2 * ARM_MAX_VQ] QEMU_ALIGNED(16);
> } ARMVectorReg;
>
> +/* In AArch32 mode, predicate registers do not exist at all. */
> +typedef struct ARMPredicateReg {
> +#ifdef TARGET_AARCH64
> + uint64_t p[2 * ARM_MAX_VQ / 8] QEMU_ALIGNED(16);
> +#else
> + uint64_t p[0];
> +#endif
> +} ARMPredicateReg;
> +
>
> typedef struct CPUARMState {
> /* Regs for current mode. */
> @@ -513,6 +522,9 @@ typedef struct CPUARMState {
> struct {
> ARMVectorReg zregs[32];
>
> + /* Store FFR as pregs[16] to make it easier to treat as any other.
> */
> + ARMPredicateReg pregs[17];
> +
What happens if code tries to accidentally access this on the 32 bit build?
> uint32_t xregs[16];
> /* We store these fpcsr fields separately for convenience. */
> int vec_len;
--
Alex Bennée
- [Qemu-devel] [PATCH v2 07/16] vmstate: Add VMSTATE_UINT64_SUB_ARRAY, (continued)
- [Qemu-devel] [PATCH v2 07/16] vmstate: Add VMSTATE_UINT64_SUB_ARRAY, Richard Henderson, 2018/01/18
- [Qemu-devel] [PATCH v2 05/16] target/arm: Change the type of vfp.regs, Richard Henderson, 2018/01/18
- [Qemu-devel] [PATCH v2 08/16] target/arm: Expand vector registers for SVE, Richard Henderson, 2018/01/18
- [Qemu-devel] [PATCH v2 10/16] target/arm: Add ARM_FEATURE_SVE, Richard Henderson, 2018/01/18
- [Qemu-devel] [PATCH v2 09/16] target/arm: Add predicate registers for SVE, Richard Henderson, 2018/01/18
- Re: [Qemu-devel] [PATCH v2 09/16] target/arm: Add predicate registers for SVE,
Alex Bennée <=
- [Qemu-devel] [PATCH v2 11/16] target/arm: Add SVE to migration state, Richard Henderson, 2018/01/18
- [Qemu-devel] [PATCH v2 06/16] target/arm: Add aa{32, 64}_vfp_{dreg, qreg} helpers, Richard Henderson, 2018/01/18
- [Qemu-devel] [PATCH v2 12/16] target/arm: Add ZCR_ELx, Richard Henderson, 2018/01/18