mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-02-02 14:00:58 +00:00
target-arm: Eliminate unnecessary zero-extend in disas_bitfield
For !SF, this initial ext32u can't be optimized away by the current TCG code generator. (It would require backward bit liveness propagation.) Backports commit d3a77b42decd0cbfa62a5526e67d1d6d380c83a9 from qemu
This commit is contained in:
parent
c637a97270
commit
3173269986
|
@ -3009,7 +3009,12 @@ static void disas_bitfield(DisasContext *s, uint32_t insn)
|
|||
}
|
||||
|
||||
tcg_rd = cpu_reg(s, rd);
|
||||
tcg_tmp = read_cpu_reg(s, rn, sf);
|
||||
|
||||
/* Suppress the zero-extend for !sf. Since RI and SI are constrained
|
||||
to be smaller than bitsize, we'll never reference data outside the
|
||||
low 32-bits anyway. */
|
||||
tcg_tmp = read_cpu_reg(s, rn, 1);
|
||||
|
||||
|
||||
/* Recognize the common aliases. */
|
||||
if (opc == 0) { /* SBFM */
|
||||
|
|
Loading…
Reference in a new issue