qemu/target
Peter Maydell c64ee036ac target/arm/translate-neon: UNDEF if VLD1/VST1 stride bits are non-zero
For VLD1/VST1 (single element to one lane) we are only accessing one
register, and so the 'stride' is meaningless.  The bits that would
specify stride (insn bit [4] for size=1, bit [6] for size=2) are
specified to be zero in the encoding (which would correspond to a
stride of 1 for VLD2/VLD3/VLD4 etc), and we must UNDEF if they are
not.

We failed to make this check, which meant that we would incorrectly
handle some instruction patterns as loads or stores instead of
UNDEFing them. Enforce that stride == 1 for the nregs == 1 case.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/890
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220303113741.2156877-2-peter.maydell@linaro.org
2022-03-07 13:16:49 +00:00
..
alpha exec/exec-all: Move 'qemu/log.h' include in units requiring it 2022-02-21 10:18:06 +01:00
arm target/arm/translate-neon: UNDEF if VLD1/VST1 stride bits are non-zero 2022-03-07 13:16:49 +00:00
avr Trivial branch pull request 20220222 2022-02-22 20:17:09 +00:00
cris exec/exec-all: Move 'qemu/log.h' include in units requiring it 2022-02-21 10:18:06 +01:00
hexagon exec/exec-all: Move 'qemu/log.h' include in units requiring it 2022-02-21 10:18:06 +01:00
hppa tcg: Remove dh_alias indirection for dh_typecode 2022-02-28 08:04:06 -10:00
i386 osdep: Move memalign-related functions to their own header 2022-03-07 13:16:49 +00:00
m68k tcg: Remove dh_alias indirection for dh_typecode 2022-02-28 08:04:06 -10:00
microblaze exec/exec-all: Move 'qemu/log.h' include in units requiring it 2022-02-21 10:18:06 +01:00
mips exec/exec-all: Move 'qemu/log.h' include in units requiring it 2022-02-21 10:18:06 +01:00
nios2 target/nios2: Rewrite interrupt handling 2022-03-03 09:51:59 -10:00
openrisc exec/exec-all: Move 'qemu/log.h' include in units requiring it 2022-02-21 10:18:06 +01:00
ppc target/ppc: Add missing helper_reset_fpstatus to helper_XVCVSPBF16 2022-03-05 07:16:48 +01:00
riscv target/riscv: expose zfinx, zdinx, zhinx{min} properties 2022-03-03 13:14:50 +10:00
rx target/rx: Remove unused ENV_OFFSET definition 2022-02-21 18:18:51 +01:00
s390x s390x/cpumodel: Bump up QEMU model to a stripped-down IBM z15 GA1 2022-02-28 11:29:15 +01:00
sh4 exec/memop: Adding signedness to quad definitions 2022-01-08 15:46:10 +10:00
sparc exec/exec-all: Move 'qemu/log.h' include in units requiring it 2022-02-21 10:18:06 +01:00
tricore exec/exec-all: Move 'qemu/log.h' include in units requiring it 2022-02-21 10:18:06 +01:00
xtensa exec/exec-all: Move 'qemu/log.h' include in units requiring it 2022-02-21 10:18:06 +01:00
Kconfig meson: Introduce target-specific Kconfig 2021-07-09 18:21:34 +02:00
meson.build Drop the deprecated unicore32 target 2021-05-12 18:20:52 +02:00