[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.
- [Bug gas/29524] New: x86: move-with-sign-extend inconsistent with move-with-zero-extend,
jbeulich at suse dot com <=