[LLVMbugs] [Bug 18414] New: [MC assembler] pushw instruction incorrectly relaxed to pushl

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Jan 7 14:23:49 PST 2014


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

            Bug ID: 18414
           Summary: [MC assembler] pushw instruction incorrectly relaxed
                    to pushl
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: dwmw2 at infradead.org
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

r135303, which fixed PR10370, added an incorrect relaxation of PUSHi16 to
PUSHi32. These instructions are not equivalent because they modify %esp by
different amounts. It isn't just about the size of the immediate value; they
really do push a *word* or a *dword* onto the stack, respectively.

Test case:

// RUN: llvm-mc -filetype=obj -triple i386-pc-linux-gnu %s -o %t
// RUN: llvm-objdump -d %t | FileCheck %s

.global foo    
pushw $foo // CHECK: pushw

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140107/217cf988/attachment.html>


More information about the llvm-bugs mailing list