qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] QEMU's not support NEON instructions (NEON run incorrectly)


From: Pham Van Thiet
Subject: [Qemu-devel] QEMU's not support NEON instructions (NEON run incorrectly)
Date: Tue, 21 Sep 2010 00:04:28 +0800 (SGT)

Hello everybody,
I arm building VP8 (WebM) for QEMU, when I configure VP8 for ARMv6 then it run 
ok on QEMU but when I build it with ARMv7
then it's not run on QEMU, I asked on WebM's forum of Google and they said that 
QEMU does not support VP8 NEON code right now
I ran debug to test their replys and I realized that QEMU runs NEON 
instructions 
incorrectly. Example I run some NEON instructions on QEMU as:
  vld1.8 {q0, q1}, [r2]!
  vld1.8 {q4, q5}, [r10]!
  vld1.8 {q2, q3}, [r2]!
then QEMU only runs the first NEON instruction and when run the first 
instruction QEMU will jump to:
void cpu_loop_exit(void)
{
   /* NOTE: the register at this point must be saved by hand because
   longjmp restore them */
   regs_to_env();
   longjmp(env->jmp_env, 1);
}

and from the second instruction to end, QEMU's not run, if I run other ARM 
instruction then I run NEON instruction then QEMU still runs all the 
instructions until it met the NEON instruction then all other instructions 
after 
that NEON instruction will not run.
Example:
mov r2 r1 # run
add r3 r4 r2 # run
vld1.8 {q0, q1}, [r2]! # run
mov r5 r4 # not run
I don't know why? I think QEMU supported for NEON instructions but may be it 
run 
incorrectly and have some problems with NEON instructions. Please help me to 
confirm them and can you say for me what are the NEON instructions that QEMU 
not 
support? 
 If you have a patch NEON for QEMU, please send it for me

Thanks and best regard, 
Pham Van Thiet






reply via email to

[Prev in Thread] Current Thread [Next in Thread]