The addsub/subadd implemetation is incorrect. The patch can fixed it and is verified by Chris's test case
** Patch added: "target-arm: fix addsub/subadd implementation" http://launchpadlibrarian.net/50552359/0001-target-arm-fix-addsub-subadd-implementation.patch -- [ARM] All variants of ADDSUBX,SUBADDX give incorrect results https://bugs.launchpad.net/bugs/595906 You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. Status in QEMU: New Bug description: All variants of the ADDSUBX/SUBADDX instructions seem to be implemented incorrectly, i.e. MOV r12, #0 LDR r0, =0x18004800 LDR r1, =0x30006000 QADDSUBX r12, r0, r1 ; Should give 0x78001800 - gives 0x4800e800 This happens with latest git HEAD.