summaryrefslogtreecommitdiffstats
path: root/target/arm/cpu.h
diff options
context:
space:
mode:
authorAndrew Jones2019-08-02 14:25:31 +0200
committerPeter Maydell2019-08-16 15:02:51 +0200
commit46417784d21c89446763f2047228977bdc267895 (patch)
tree60b4e04fbd72c024caea53d921fdecb114032578 /target/arm/cpu.h
parenttarget/arm/helper: zcr: Add build bug next to value range assumption (diff)
downloadqemu-46417784d21c89446763f2047228977bdc267895.tar.gz
qemu-46417784d21c89446763f2047228977bdc267895.tar.xz
qemu-46417784d21c89446763f2047228977bdc267895.zip
target/arm/cpu: Use div-round-up to determine predicate register array size
Unless we're guaranteed to always increase ARM_MAX_VQ by a multiple of four, then we should use DIV_ROUND_UP to ensure we get an appropriate array size. Signed-off-by: Andrew Jones <drjones@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target/arm/cpu.h')
-rw-r--r--target/arm/cpu.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/target/arm/cpu.h b/target/arm/cpu.h
index d12c746085..ab5d58a9d4 100644
--- a/target/arm/cpu.h
+++ b/target/arm/cpu.h
@@ -195,7 +195,7 @@ typedef struct ARMVectorReg {
#ifdef TARGET_AARCH64
/* In AArch32 mode, predicate registers do not exist at all. */
typedef struct ARMPredicateReg {
- uint64_t p[2 * ARM_MAX_VQ / 8] QEMU_ALIGNED(16);
+ uint64_t p[DIV_ROUND_UP(2 * ARM_MAX_VQ, 8)] QEMU_ALIGNED(16);
} ARMPredicateReg;
/* In AArch32 mode, PAC keys do not exist at all. */