[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] QEMU state of ARM NEON support.
From: |
Dmitry Zhurikhin |
Subject: |
[Qemu-devel] QEMU state of ARM NEON support. |
Date: |
Mon, 22 Mar 2010 16:43:59 +0300 |
User-agent: |
Thunderbird 2.0.0.24 (X11/20100317) |
Hello. We made a small experiment to analyze QEMU state of NEON support. We
took our tests from Valgrind that we wrote to test support for all NEON
instructions and ran them inside of QEMU. I am attaching the output files from
trunk QEMU as well as reference file showing what output should be (taken from
the real test board). We find the results interesting. Overall NEON support is
great. Here is a list of what problems we've seen so far:
- To start with, QEMU translator doesn't support at all 128-bit polynomial
VMULL instruction and VSLI and VSRI instructions. Though there are two patches
in the mailing list to address missing VSLI and VSRI instructions problem. One
patch adds support only for VSLI instruction. The other adds support for both
of them but its emulation of VSLI instruction is incorrect.
- QEMU also raises 'Illegal instruction' interrupt on some kinds of VCVT
instructions and converts all values incorrectly. Seems like QEMU recognizes
VCVT as another instruction.
- Many instructions are emulated (partially) incorrectly. They include
VQSHL(U), V(Q)RSHL, VRSHR, V(R)SRA, VMUL, VMLA, VMLS, VMULL, VMLAL, VMLSL, VZIP,
128-bit VUZP, 64-bit V(Q)(R)SHR(U)N, VQ(R)DMUL(L,H), VQDMLSL, VQDMLAL, VSHLL,
VRECPE and VRSQRT(E,S).
- Encoding of integer constants with cmode 1101 is processed incorrectly (see
VMOV or VMVN).
- Flush-to-zero is not performed before executing floating-point NEON
instructions as it should be (which results in incorrect VCGT and VCLE
instructions result).
- Saturation flag is not set.
- QEMU reports "Internal resource leak"s for some instructions.
Hope this information will be helpful.
Regards,
Dmitry
qemu-neon-test.tar.bz2
Description: application/bzip
- [Qemu-devel] QEMU state of ARM NEON support.,
Dmitry Zhurikhin <=