[LLVMbugs] [Bug 4565] New: ARM doesn't recognize aapcs-defined register synonyms
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Thu Jul 16 11:34:20 PDT 2009
http://llvm.org/bugs/show_bug.cgi?id=4565
Summary: ARM doesn't recognize aapcs-defined register synonyms
Product: libraries
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Backend: ARM
AssignedTo: unassignedbugs at nondot.org
ReportedBy: nlewycky at google.com
CC: asl at math.spbu.ru, llvmbugs at cs.uiuc.edu
AAPCS 5.1.1 defines a1..a4 and v1..v8 as synonyms for arm registers. These
aren't recognized by LLVM causing an llvm-gcc bootstrap failure on that target.
Testcase:
void test() {
unsigned long BEG = 0;
unsigned long END = 1;
register unsigned long _beg __asm ("a1") = (unsigned long) (BEG);
register unsigned long _end __asm ("a2") = (unsigned long) (END);
register unsigned long _flg __asm ("a3") = 0;
register unsigned long _scno __asm ("r7") = 0xf0002;
__asm __volatile ("swi 0x9f0002 @ sys_cacheflush"
: "=r" (_beg)
: "0" (_beg), "r" (_end), "r" (_flg), "r" (_scno));
}
Error when building:
LLVM ERROR: llvm: error: Couldn't allocate output reg for constraint '{a1}'!
--
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.
More information about the llvm-bugs
mailing list