[LLVMbugs] [Bug 4091] New: ARM: Inline asm failure!

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Mon Apr 27 10:31:57 PDT 2009


http://llvm.org/bugs/show_bug.cgi?id=4091

           Summary: ARM: Inline asm failure!
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Backend: ARM
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: ed at 80386.nl
                CC: llvmbugs at cs.uiuc.edu
            Blocks: 3696


The following C code:

void
foo(void)
{
        unsigned int i, *p;

        asm volatile("swp %0, %2, [%3]" : "=&r" (i), "=m" (*p) : "r" (i), "r"
(p), "m" (*p) : "memory");
}

or the following LLVM IR:

; ModuleID = 'arm-inline-asm.c'
target datalayout =
"e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:64"
target triple = "arm-undermydesk-freebsd8.0"

define void @foo() nounwind {
entry: 
        %0 = tail call i32 asm sideeffect "swp $0, $2, [$3]",
"=&r,=*m,r,r,*m,~{memory}"(i32* undef, i32 undef, i32* undef, i32* undef)
nounwind                ; <i32> [#uses=0]
        ret void
}

generates the following error message:

Could not match memory address.  Inline asm failure!

No line numbers, etc. It just dies there.


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