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: [email protected]
Reporter: [email protected]
CC: [email protected]
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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs