bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/30953] New: Objdump cuts 32bit displacements for AVX instr


From: blarsen at redhat dot com
Subject: [Bug binutils/30953] New: Objdump cuts 32bit displacements for AVX instructions
Date: Mon, 09 Oct 2023 15:40:31 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=30953

            Bug ID: 30953
           Summary: Objdump cuts 32bit displacements for AVX instructions
           Product: binutils
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: binutils
          Assignee: unassigned at sourceware dot org
          Reporter: blarsen at redhat dot com
  Target Milestone: ---

Compiling the following program with gcc:

int global = 1;

int main() {
    asm("vmovd %0, %%xmm0": "=m"(global) : : "xmm0");
    return 0;
}

And examining with objump -d, I get the following disassembly for the main
function:

0000000000401106 <main>:
  401106:       55                      push   %rbp
  401107:       48 89 e5                mov    %rsp,%rbp
  40110a:       c5 f9 6e 05 0a 2f 00    vmovd  0x2f0a(%rip),%xmm0        #
40401c <global>
  401111:       00 
  401112:       b8 00 00 00 00          mov    $0x0,%eax
  401117:       5d                      pop    %rbp
  401118:       c3                      ret    

notice how byte 401111 is a single null byte. That byte is part of the 32 bit
displacement for the vmovd instruction, and should be printed in the same line.

Results obtained with:
$ objdump -v
GNU objdump version 2.38-27.fc37

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]