target/arm: Fix decode of LDRA[AB] instructions

These instructions use zero as the discriminator, not SP.

Backports commit d250bb19ced3b702c7c37731855f6876d0cc7995 from qemu
This commit is contained in:
Peter Collingbourne 2021-02-25 23:47:11 -05:00 committed by Lioncash
parent 3004cc1f97
commit 7de60dfa51

View file

@ -3624,9 +3624,11 @@ static void disas_ldst_pac(DisasContext *s, uint32_t insn,
if (s->pauth_active) {
if (use_key_a) {
gen_helper_autda(tcg_ctx, dirty_addr, tcg_ctx->cpu_env, dirty_addr, tcg_ctx->cpu_X[31]);
gen_helper_autda(tcg_ctx, dirty_addr, tcg_ctx->cpu_env, dirty_addr,
new_tmp_a64_zero(s));
} else {
gen_helper_autdb(tcg_ctx, dirty_addr, tcg_ctx->cpu_env, dirty_addr, tcg_ctx->cpu_X[31]);
gen_helper_autdb(tcg_ctx, dirty_addr, tcg_ctx->cpu_env, dirty_addr,
new_tmp_a64_zero(s));
}
}