[LLVMbugs] [Bug 4118] New: Register allocator not respecting early clobber on inline asm

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Fri May 1 15:52:22 PDT 2009


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

           Summary: Register allocator not respecting early clobber on
                    inline asm
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: sharparrow1 at yahoo.com
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=2916)
 --> (http://llvm.org/bugs/attachment.cgi?id=2916)
Testcase (bitcode)

Testcase attached; to reproduce, use the following command, at least on my
computer:

llc x2.bc -o - | fgrep "REGSA: %eax %eax"

I'm on Ubuntu Linux on x86-32 using a Core Duo (hopefully, that doesn't make a
difference).

The relevant inline asm is as follows:
        %0 = call i32 asm sideeffect "REGSA: $0 $1 $2",
"=&{ax},r,r,~{cx},~{bx},~{dx},~{si},~{memory},~{dirflag},~{fpsr},~{flags}"(i8*
%arrayidx.i.i, %struct.CABACContext* %tmp3.i.i) nounwind         ; <i32>
[#uses=1]

Unfortunately, it's difficult to simplify a testcase like this; the construct
in question isn't generally broken, just not working in this particular case.

Testcase reduced from libavcodec/h264.c in ffmpeg.


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