[LLVMbugs] [Bug 12570] New: [arm inline asm] invalid operand in inline asm
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Tue Apr 17 02:47:52 PDT 2012
http://llvm.org/bugs/show_bug.cgi?id=12570
Bug #: 12570
Summary: [arm inline asm] invalid operand in inline asm
Product: libraries
Version: trunk
Platform: PC
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P
Component: Backend: ARM
AssignedTo: unassignedbugs at nondot.org
ReportedBy: carrot at google.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
When I compile the following function contains arm inline assembler
int64_t dvmQuasiAtomicRead64(volatile const int64_t* addr)
{
int64_t value;
__asm__ __volatile__ ("@ dvmQuasiAtomicRead64\n"
"ldrexd %0, %H0, [%1]"
: "=&r" (value)
: "r" (addr));
return value;
}
clang/llvm reports:
Atomic.c:110:27: error: invalid operand in inline asm: '@ dvmQuasiAtomicRead64
ldrexd $0, ${0:H}, [$1]'
__asm__ __volatile__ ("@ dvmQuasiAtomicRead64\n"
^
src/vm/Atomic.c:110:27: error: invalid operand in inline asm: '@
dvmQuasiAtomicRead64
ldrexd $0, ${0:H}, [$1]'
src/vm/Atomic.c:110:27: error: invalid operand in inline asm: '@
dvmQuasiAtomicRead64
ldrexd $0, ${0:H}, [$1]'
src/vm/Atomic.c:110:27: error: invalid operand in inline asm: '@
dvmQuasiAtomicRead64
ldrexd $0, ${0:H}, [$1]'
src/vm/Atomic.c:110:27: error: invalid operand in inline asm: '@
dvmQuasiAtomicRead64
ldrexd $0, ${0:H}, [$1]'
But gcc can compile it successfully.
--
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