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

Sam James <sjames at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |liuhongt at gcc dot gnu.org
            Summary|[15 regression] [x86]       |[15 regression] [x86]
                   |Failure to build ipxe       |Failure to build ipxe
                   |(inline assembly fails with |(inline assembly fails with
                   |'asm' operand has           |'asm' operand has
                   |impossible constraints or   |impossible constraints or
                   |there are not enough        |there are not enough
                   |registers)                  |registers) since
                   |                            |r15-2217-ga3f03891065cb9

--- Comment #1 from Sam James <sjames at gcc dot gnu.org> ---
(In reply to Miao Wang from comment #0)
> Created attachment 60532 [details]
> The code failed to compile with gcc-15
> 
> GCC 15 fails to compile [ipxe](https://ipxe.org). The error happens on
> handling the inline assembly code included by src/tests/bigint_test.c,
> reporting that 'asm' operand has impossible constraints or there are not
> enough registers. However, GCC 14 can successfully compile the code.
> 
> I tried to simplify the case, and I finally get the attached C code. The
> code fails to compile using the command:
> 
> gcc -Wall -Wextra -g -Os -march=i386  -mregparm=3  -m32  -fno-PIE -c src.c
> -o /dev/null
> 
> The symptom can be reproduced on godbolt: https://godbolt.org/z/MbjMc3TKc
> 
> I did a bisect on the gcc code, and found out that the compilation can
> succeed before the commit a3f03891065c ("Relax ix86_hardreg_mov_ok after
> split1."). 
> 

r15-2217-ga3f03891065cb9

Reply via email to