diff options
| author | 2019-03-23 00:46:23 -0700 | |
|---|---|---|
| committer | 2019-06-10 07:03:42 -0700 | |
| commit | 057b6e370b0947613b0e829c0bb0ddf960003d15 (patch) | |
| tree | 9ce1f90e582471cb99a282f815216241591f488b /include/hw/arm/virt.h | |
| parent | tcg/aarch64: Use LDP to load tlb mask+table (diff) | |
| download | qemu-057b6e370b0947613b0e829c0bb0ddf960003d15.tar.xz qemu-057b6e370b0947613b0e829c0bb0ddf960003d15.zip | |
tcg/arm: Use LDRD to load tlb mask+table
This changes the code generation for the tlb from e.g.
ldr ip, [r6, #-0x10]
ldr r2, [r6, #-0xc]
and ip, ip, r4, lsr #8
ldrd r0, r1, [r2, ip]!
ldr r2, [r2, #0x18]
to
ldrd r0, r1, [r6, #-0x10]
and r0, r0, r4, lsr #8
ldrd r2, r3, [r1, r0]!
ldr r1, [r1, #0x18]
for armv7 hosts. Rearranging the register allocation in
order to avoid overlap between the two ldrd pairs causes
the patch to be larger than it ordinarily would be.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include/hw/arm/virt.h')
0 files changed, 0 insertions, 0 deletions
