]> git.ipfire.org Git - thirdparty/qemu.git/commit
target/arm: Fix LD1W, LD1D to 128-bit elements
authorPeter Maydell <peter.maydell@linaro.org>
Wed, 23 Jul 2025 16:54:58 +0000 (17:54 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 25 Jul 2025 09:31:45 +0000 (10:31 +0100)
commit7428c46c06b4365ee5131dcdcc3da218c5e99ddd
tree7905b1f3d978e509c21ed67d67eba6de66f8533c
parent4726be1c69606e34c3cc4c26e39e252a9856b3d3
target/arm: Fix LD1W, LD1D to 128-bit elements

In our implementation of the SVE2p1 contiguous load to 128-bit
element insns such as LD1D (scalar plus scalar, single register), we
got the order of the arguments to the DO_LD1_2() macro wrong.  Here
the first argument is the element size and the second is the memory
size, and the element size is always the same size or larger than
the memory size.

For the 128-bit versions, we want to load either 32-bit or 64-bit
values from memory and extend them to the 128-bit vector element, but
were trying to load 128 bit values and then stuff them into 32-bit or
64-bit vector elements.  Correct the macro ordering.

Fixes: fc5f060bcb7b ("target/arm: Implement {LD1, ST1}{W, D} (128-bit element) for SVE2p1")
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20250723165458.3509150-7-peter.maydell@linaro.org
target/arm/tcg/sve_helper.c