diff options
| author | Richard Henderson <richard.henderson@linaro.org> | 2025-08-29 13:49:06 +0000 |
|---|---|---|
| committer | Richard Henderson <richard.henderson@linaro.org> | 2025-09-04 09:48:08 +0200 |
| commit | 27ea28a0b369b4b14a485a5d6f045e0dc1db4e38 (patch) | |
| tree | 18314521d4266298a0a1cdad73a1b76acfb2c19d | |
| parent | baa79455fa92984ff0f4b9ae94bed66823177a27 (diff) | |
| download | focaccia-qemu-27ea28a0b369b4b14a485a5d6f045e0dc1db4e38.tar.gz focaccia-qemu-27ea28a0b369b4b14a485a5d6f045e0dc1db4e38.zip | |
tcg/arm: Fix tgen_deposit
When converting from tcg_out_deposit, the arguments were not
shuffled properly.
Cc: qemu-stable@nongnu.org
Fixes: cf4905c03135f1181e8 ("tcg: Convert deposit to TCGOutOpDeposit")
Reported-by: Michael Tokarev <mjt@tls.msk.ru>
Tested-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
| -rw-r--r-- | tcg/arm/tcg-target.c.inc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/tcg/arm/tcg-target.c.inc b/tcg/arm/tcg-target.c.inc index 836894b16a..338c57b061 100644 --- a/tcg/arm/tcg-target.c.inc +++ b/tcg/arm/tcg-target.c.inc @@ -975,7 +975,8 @@ static void tgen_deposit(TCGContext *s, TCGType type, TCGReg a0, TCGReg a1, TCGReg a2, unsigned ofs, unsigned len) { /* bfi/bfc */ - tcg_out32(s, 0x07c00010 | (COND_AL << 28) | (a0 << 12) | a1 + tcg_debug_assert(a0 == a1); + tcg_out32(s, 0x07c00010 | (COND_AL << 28) | (a0 << 12) | a2 | (ofs << 7) | ((ofs + len - 1) << 16)); } |