Using only the ldst simm9 (unscaled offset) will often result in the fallback mov immediate + ldst (register offset) to be triggered.
This change implements the ldst uimm12 (scaled offset), which avoids the expensive fallback in certain conditions: the offset must be naturally aligned and positive, and the scaled value must be representable with 12bits. This patch requires multiple reviewed but not committed yet series reachable from: https://lists.gnu.org/archive/html/qemu-devel/2013-06/msg00880.html "AArch64 TCG target implementation, git repo" Claudio Fontana (1): tcg/aarch64: implement ldst 12bit scaled uimm offset tcg/aarch64/tcg-target.c | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) -- 1.8.1