[LLVMbugs] [Bug 12361] New: Incorrect Thumb instruction MUL

1 view
Skip to first unread message

bugzill...@llvm.org

unread,
Mar 26, 2012, 2:07:44 PM3/26/12
to llvm...@cs.uiuc.edu
http://llvm.org/bugs/show_bug.cgi?id=12361

Bug #: 12361
Summary: Incorrect Thumb instruction MUL
Product: libraries
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: Backend: ARM
AssignedTo: unassig...@nondot.org
ReportedBy: srh...@google.com
CC: llvm...@cs.uiuc.edu
Classification: Unclassified


There is quite a bit of conflicting documentation regarding the MUL instruction
on Thumb.
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204j/Cihihggj.html
shows the instruction doing "Rd = Rn * Rd". Other pages (look at page A7-70
from http://www.cse.unsw.edu.au/~cs9242/11/doc/armv5_ref.pdf, which is a copy
of the official documentation) show this instruction as "Rd = Rm * Rd".

According to
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0068b/BABJHFEA.html,
MUL is expected to be encoded similarly to ADC/SBC. If you look at those
instructions in the ARMInstrThumb.td file, you see that they refer to Rdn/Rm
for the registers. The MUL instruction is instead referring to Rd and Rn, with
constraints for Rm = Rd.

--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
LLVM...@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply all
Reply to author
Forward
0 new messages