[LLVMbugs] [Bug 12441] New: DWORD PTR missing from store instruction to absolute address

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Apr 2 15:35:29 PDT 2012


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

             Bug #: 12441
           Summary: DWORD PTR missing from store instruction to absolute
                    address
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: stoklund at 2pi.dk
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


This is weird, from X86/store_op_load_fold2.ll which uses intel asm syntax:

    AND32mr %noreg, 1, %noreg, 356, %noreg, %EAX<kill>, %EFLAGS<imp-def,dead>;
mem:ST4[%tmp2666] LD4[%tmp2666]
    MOV32mr %noreg, 1, %noreg, 360, %noreg, %ECX<kill>; mem:ST4[%tmp2666+4]

was printed correctly as:

    and    DWORD PTR [356], EAX
    mov    DWORD PTR [360], ECX

Then I made a change to the register allocator (swapping EAX and ECX, and now
it becomes:

    AND32mr %noreg, 1, %noreg, 356, %noreg, %ECX<kill>, %EFLAGS<imp-def,dead>;
mem:ST4[%tmp2666] LD4[%tmp2666]
    MOV32mr %noreg, 1, %noreg, 360, %noreg, %EAX<kill>; mem:ST4[%tmp2666+4]

Which prints as:

    and    DWORD PTR [356], ECX
    mov    360, EAX

I couldn't find anything in X86IntelInstPrinter.cpp

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