mirror of
https://github.com/yuzu-emu/unicorn
synced 2024-11-24 14:38:15 +00:00
target/arm: Fix LD1W and LDFF1W (scalar plus vector)
'I' was being double-incremented; correctly within the inner loop and incorrectly within the outer loop. Backports commit 628fc75f3a3bb115de3b445c1a18547c44613cfe from qemu
This commit is contained in:
parent
103c5054e7
commit
bd9975a8ab
1 changed files with 2 additions and 2 deletions
|
@ -4456,7 +4456,7 @@ void HELPER(NAME)(CPUARMState *env, void *vd, void *vg, void *vm, \
|
|||
intptr_t i, oprsz = simd_oprsz(desc); \
|
||||
unsigned scale = simd_data(desc); \
|
||||
uintptr_t ra = GETPC(); \
|
||||
for (i = 0; i < oprsz; i++) { \
|
||||
for (i = 0; i < oprsz; ) { \
|
||||
uint16_t pg = *(uint16_t *)(vg + H1_2(i >> 3)); \
|
||||
do { \
|
||||
TYPEM m = 0; \
|
||||
|
@ -4537,7 +4537,7 @@ void HELPER(NAME)(CPUARMState *env, void *vd, void *vg, void *vm, \
|
|||
uintptr_t ra = GETPC(); \
|
||||
bool first = true; \
|
||||
mmap_lock(); \
|
||||
for (i = 0; i < oprsz; i++) { \
|
||||
for (i = 0; i < oprsz; ) { \
|
||||
uint16_t pg = *(uint16_t *)(vg + H1_2(i >> 3)); \
|
||||
do { \
|
||||
TYPEM m = 0; \
|
||||
|
|
Loading…
Reference in a new issue