Files
Peter Maydell d0040c60f7 target/arm: Return correct result for LDG when ATA=0
The LDG instruction loads the tag from a memory address (identified
by [Xn + offset]), and then merges that tag into the destination
register Xt. We implemented this correctly for the case when
allocation tags are enabled, but didn't get it right when ATA=0:
instead of merging the tag bits into Xt, we merged them into the
memory address [Xn + offset] and then set Xt to that.

Merge the tag bits into the old Xt value, as they should be.

Cc: qemu-stable@nongnu.org
Fixes: c15294c1e3 ("target/arm: Implement LDG, STG, ST2G instructions")
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
(cherry picked from commit 7e2788471f)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2023-06-22 10:35:22 +03:00
..
2022-06-08 19:38:47 +01:00
2022-10-20 11:28:29 +01:00
2022-06-08 19:38:47 +01:00
2022-07-11 13:43:51 +01:00
2022-07-11 13:43:51 +01:00
2022-10-10 14:52:25 +01:00
2022-06-27 11:18:17 +01:00
2022-10-20 11:28:29 +01:00