bug-binutils
[Top][All Lists]
Advanced

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

[Bug gas/29524] New: x86: move-with-sign-extend inconsistent with move-w


From: jbeulich at suse dot com
Subject: [Bug gas/29524] New: x86: move-with-sign-extend inconsistent with move-with-zero-extend
Date: Fri, 26 Aug 2022 09:15:56 +0000

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

            Bug ID: 29524
           Summary: x86: move-with-sign-extend inconsistent with
                    move-with-zero-extend
           Product: binutils
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: gas
          Assignee: unassigned at sourceware dot org
          Reporter: jbeulich at suse dot com
  Target Milestone: ---

AT&T syntax, at least in its GNU interpretation, has always been permitting
sizing suffixes to be omitted when register operands allow proper sizing of an
insn. This principle is violated for move-with-sign-extend, as can be easily
seen with

        movsb   %al, %ax
        movsb   %al, %eax
        movsb   %al, %rax

        movsb   (%rax), %ax
        movsb   (%rax), %eax
        movsb   (%rax), %rax

        movzb   %al, %ax
        movzb   %al, %eax
        movzb   %al, %rax

        movzb   (%rax), %ax
        movzb   (%rax), %eax
        movzb   (%rax), %rax

        movsw   %ax, %eax
        movsw   %ax, %rax

        movsw   (%rax), %eax
        movsw   (%rax), %rax

        movzw   %ax, %eax
        movzw   %ax, %rax

        movzw   (%rax), %eax
        movzw   (%rax), %rax

        movsl   %eax, %rax

        movsl   (%rax), %rax

See the v1 posting of patches addressing this:
https://sourceware.org/pipermail/binutils/2022-August/122458.html
https://sourceware.org/pipermail/binutils/2022-August/122459.html

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