qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [Bug 595906] Re: [ARM] All variants of ADDSUBX, SUBADDX giv


From: Chris Winter
Subject: [Qemu-devel] [Bug 595906] Re: [ARM] All variants of ADDSUBX, SUBADDX give incorrect results
Date: Fri, 18 Jun 2010 16:14:30 -0000

I have been able to reproduce this issue using the attached C file on a
custom arm1136-based qemu device, with latest git HEAD as of about 15
minutes ago. Running my test program on real hardware -- an
arm1176-based board, and a cortex-a8-based board -- produces the desired
result (0x78001800).

I'll try to investigate further, but it may take me a while to find a
fix because I haven't spent much time looking at qemu's lower level
instruction translation code. If someone with experience in this area
can devise a fix more quickly, then I can help test.

** Attachment added: "Test code to reproduce the bug"
   http://launchpadlibrarian.net/50548546/test.c

-- 
[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.





reply via email to

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