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.