https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126685

            Bug ID: 126685
           Summary: [17 regression] grub fails to assemble with broken
                    __builtin_bswap64 expansion (Error: incorrect register
                    `%eax' used with `w' suffix)
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Keywords: assemble-failure
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sjames at gcc dot gnu.org
                CC: floppymaster at gmail dot com
  Target Milestone: ---

>From Mike Gilbert (https://bugs.gentoo.org/980295#c9):
"""
Minimal reproducer (requires -march=i386):

% cat test.c
unsigned long long grub_swap_bytes64(unsigned long long x)
{
        return __builtin_bswap64(x);
}

% gcc-17 -m32 -march=i386 -c test.c
/tmp/ccwE7rdT.s: Assembler messages:
/tmp/ccwE7rdT.s:23: Error: incorrect register `%eax' used with `w' suffix
/tmp/ccwE7rdT.s:25: Error: incorrect register `%eax' used with `w' suffix
/tmp/ccwE7rdT.s:28: Error: incorrect register `%eax' used with `w' suffix
/tmp/ccwE7rdT.s:30: Error: incorrect register `%eax' used with `w' suffix
"""

Reply via email to