target/arm: Use uint32_t instead of bitmap for sve vq's
commit886902ece71b5e795fea3e052a32f047d2f8fe33
authorRichard Henderson <richard.henderson@linaro.org>
Wed, 8 Jun 2022 18:38:57 +0000 (8 19:38 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Wed, 8 Jun 2022 18:38:57 +0000 (8 19:38 +0100)
tree4d5e81ad570d44e4b574c4b3f272bb8eb07a829c
parent9b5f422559a528f4117aa9c3098fddf3d7c535ba
target/arm: Use uint32_t instead of bitmap for sve vq's

The bitmap need only hold 15 bits; bitmap is over-complicated.
We can simplify operations quite a bit with plain logical ops.

The introduction of SVE_VQ_POW2_MAP eliminates the need for
looping in order to search for powers of two.  Simply perform
the logical ops and use count leading or trailing zeros as
required to find the result.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220607203306.657998-12-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target/arm/cpu.h
target/arm/cpu64.c
target/arm/helper.c
target/arm/internals.h
target/arm/kvm64.c
target/arm/kvm_arm.h