diff options
author | David 'Digit' Turner <digit@google.com> | 2009-10-05 14:06:05 -0700 |
---|---|---|
committer | David 'Digit' Turner <digit@google.com> | 2009-10-05 14:06:05 -0700 |
commit | ddf49e53df97a349f42c733059165dc73c9907dc (patch) | |
tree | 94f840eab7a00cb543b37e1ab9086bc26df5245e /target-arm | |
parent | acbee3546b9a380a4eb33daef3dccfac87c56b0b (diff) | |
download | external_qemu-ddf49e53df97a349f42c733059165dc73c9907dc.zip external_qemu-ddf49e53df97a349f42c733059165dc73c9907dc.tar.gz external_qemu-ddf49e53df97a349f42c733059165dc73c9907dc.tar.bz2 |
Workaround ARMv7 emulation issues.
This patch is used to disable the code generator's liveness analysis pass when we
emulate an ARMv7 CPU. This is required to properly run the dex preoptimization pass
during the build of -user system images.
Also includes:
- a fix for a sad typo in target-arm/translate.c related to NEON instruction emulation
- upstream improvements to the x86 and x86_64 backends to generate better goto branches at runtime
- upstream fixes for 64-bit swap and shift operations in TCG
After this patch is applied, re-enabling the ARMv7 memcpy should allow to run the dex preopt
pass succesfully. Anything else is untested though. WE STILL NEED TO FIX THE CODE GENERATOR.
Diffstat (limited to 'target-arm')
-rw-r--r-- | target-arm/translate.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/target-arm/translate.c b/target-arm/translate.c index ad3ab44..15239d1 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -3828,7 +3828,7 @@ static int disas_neon_ls_insn(CPUState * env, DisasContext *s, uint32_t insn) gen_neon_dup_low16(tmp); break; case 2: - tmp = gen_ld32(cpu_T[0], IS_USER(s)); + tmp = gen_ld32(cpu_T[1], IS_USER(s)); break; case 3: return 1; |