diff options
author | Peter Collingbourne <pcc@google.com> | 2020-08-03 17:28:49 -0700 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2020-08-04 16:40:19 +0100 |
commit | d250bb19ced3b702c7c37731855f6876d0cc7995 (patch) | |
tree | 7a8800c4d6c4467c7a32cd1ce7913ddee7bb1a54 /target/arm/translate-a64.c | |
parent | ffdfca6fac7e87faf4d0815e5cbc31c4a53f7a3a (diff) |
target/arm: Fix decode of LDRA[AB] instructions
These instructions use zero as the discriminator, not SP.
Signed-off-by: Peter Collingbourne <pcc@google.com>
Message-id: 20200804002849.30268-1-pcc@google.com
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target/arm/translate-a64.c')
-rw-r--r-- | target/arm/translate-a64.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index c98dfb17a8..534c3ff5f3 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -3429,9 +3429,11 @@ static void disas_ldst_pac(DisasContext *s, uint32_t insn, if (s->pauth_active) { if (use_key_a) { - gen_helper_autda(dirty_addr, cpu_env, dirty_addr, cpu_X[31]); + gen_helper_autda(dirty_addr, cpu_env, dirty_addr, + new_tmp_a64_zero(s)); } else { - gen_helper_autdb(dirty_addr, cpu_env, dirty_addr, cpu_X[31]); + gen_helper_autdb(dirty_addr, cpu_env, dirty_addr, + new_tmp_a64_zero(s)); } } |