public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/113526] New: [14 Regression ARM] gcc.target/arm/asm-flag-1.c fails since gcc-14-7248-g76bc70387d9
@ 2024-01-21  1:07 thiago.bauermann at linaro dot org
  2024-01-21  1:12 ` [Bug target/113526] [14 Regression] " pinskia at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: thiago.bauermann at linaro dot org @ 2024-01-21  1:07 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 113526
           Summary: [14 Regression ARM] gcc.target/arm/asm-flag-1.c fails
                    since gcc-14-7248-g76bc70387d9
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: thiago.bauermann at linaro dot org
                CC: vmakarov at redhat dot com
  Target Milestone: ---
            Target: arm-none-eabi

Created attachment 57180
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57180&action=edit
gcc.log showing failures in gcc.target/arm/asm-flag-1.c

After commit 76bc70387d93 ("[PR113354][LRA]: Fixing LRA failure on building
MIPS GCC"), the following failures started appearing on --target=arm-none-eabi:

        === gcc tests ===

Running gcc:gcc.target/arm/arm.exp ...
FAIL: gcc.target/arm/asm-flag-1.c (test for excess errors)
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movcc
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movcs
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler moveq
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movge
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movgt
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movhi
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movle
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movls
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movmi
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movne
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movpl
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movvc
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movvs

The test fails because GCC can't compile asm-flag-1.c anymore:

spawn -ignore SIGHUP /tmp/arm-none-eabi/bin/arm-none-eabi-gcc
/tmp/combined-tree-src/gcc/testsuite/gcc.target/arm/asm-flag-1.c
-fdiagnostics-plain-output -O -ffat-lto-objects -fno-ident -S -o asm-flag-1.s
/tmp/combined-tree-src/gcc/testsuite/gcc.target/arm/asm-flag-1.c: In function
'f':
/tmp/combined-tree-src/gcc/testsuite/gcc.target/arm/asm-flag-1.c:12:3: error:
'asm' operand has impossible constraints or there are not enough registers
compiler exited with status 1
FAIL: gcc.target/arm/asm-flag-1.c (test for excess errors)
Excess errors:
/tmp/combined-tree-src/gcc/testsuite/gcc.target/arm/asm-flag-1.c:12:3: error:
'asm' operand has impossible constraints or there are not enough registers

gcc.target/arm/asm-flag-1.c: output file does not exist
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movne
gcc.target/arm/asm-flag-1.c: output file does not exist
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler moveq
gcc.target/arm/asm-flag-1.c: output file does not exist
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movcs
gcc.target/arm/asm-flag-1.c: output file does not exist
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movcc
gcc.target/arm/asm-flag-1.c: output file does not exist
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movmi
gcc.target/arm/asm-flag-1.c: output file does not exist
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movpl
gcc.target/arm/asm-flag-1.c: output file does not exist
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movvs
gcc.target/arm/asm-flag-1.c: output file does not exist
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movvc
gcc.target/arm/asm-flag-1.c: output file does not exist
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movhi
gcc.target/arm/asm-flag-1.c: output file does not exist
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movls
gcc.target/arm/asm-flag-1.c: output file does not exist
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movge
gcc.target/arm/asm-flag-1.c: output file does not exist
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movls
gcc.target/arm/asm-flag-1.c: output file does not exist
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movgt
gcc.target/arm/asm-flag-1.c: output file does not exist
UNRESOLVED: gcc.target/arm/asm-flag-1.c scan-assembler movle

I tested on today's trunk (commit 036623196777) and the failures are still
present. I'm attaching the gcc.log file.

Here's how to reproduce on an x86_64-linux machine:

1. First, create a combined tree:

$ mkdir /tmp/combined-tree-src /tmp/combined-tree-build
$ cd ~/src/newlib-cygwin && find . -print | cpio -pdlm /tmp/combined-tree-src
$ cd ~/src/binutils-gdb && find . -print | cpio -pdlmu /tmp/combined-tree-src
$ cd ~/src/gcc && find . -print | cpio -pdlmu /tmp/combined-tree-src

2. Then build and install the cross GCC:

$ cd /tmp/combined-tree-build
$ /tmp/combined-tree-src/configure \
    SHELL=/bin/bash \
    --with-gnu-as \
    --with-gnu-ld \
    --disable-libmudflap \
    --enable-lto \
    --enable-shared \
    --without-included-gettext \
    --enable-nls \
    --with-system-zlib \
    --disable-sjlj-exceptions \
    --enable-gnu-unique-object \
    --enable-linker-build-id \
    --disable-libstdcxx-pch \
    --enable-c99 \
    --enable-clocale=gnu \
    --enable-libstdcxx-debug \
    --enable-long-long \
    --with-cloog=no \
    --with-ppl=no \
    --with-isl=no \
    --enable-multilib \
    --with-multilib-list=aprofile \
    --enable-threads=no \
    --disable-multiarch \
    --with-newlib \
    --with-headers=yes \
    --with-native-system-header-dir=/include \
    --enable-checking=yes \
    --disable-bootstrap \
    --disable-source-highlight \
    --enable-languages=c,c++,lto \
    --prefix=/tmp/arm-none-eabi \
    --build=x86_64-pc-linux-gnu \
    --host=x86_64-pc-linux-gnu \
    --target=arm-none-eabi \
&& exec make \
        SHELL=/bin/bash \
        -w \
        "${make_jobs[@]}" \
        LDFLAGS_FOR_TARGET="--specs=rdimon.specs" \
        CFLAGS_FOR_BUILD="-pipe -g -O2" \
        CXXFLAGS_FOR_BUILD="-pipe -g -O2" \
        LDFLAGS_FOR_BUILD="-static-libgcc" \
        MAKEINFOFLAGS=--force \
        BUILD_INFO="" \
        MAKEINFO=echo \
&& make install

3. Finally, use it to compile the problematic .c file:

$ /tmp/arm-none-eabi/bin/arm-none-eabi-gcc
/tmp/combined-tree-src/gcc/testsuite/gcc.target/arm/asm-flag-1.c
-fdiagnostics-plain-output -O -ffat-lto-objects -fno-ident -S -o asm-flag-1.s
/tmp/combined-tree-src/gcc/testsuite/gcc.target/arm/asm-flag-1.c: In function
‘f’:
/tmp/combined-tree-src/gcc/testsuite/gcc.target/arm/asm-flag-1.c:12:3: error:
‘asm’ operand has impossible constraints or there are not enough registers

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug target/113526] [14 Regression] gcc.target/arm/asm-flag-1.c fails since gcc-14-7248-g76bc70387d9
  2024-01-21  1:07 [Bug target/113526] New: [14 Regression ARM] gcc.target/arm/asm-flag-1.c fails since gcc-14-7248-g76bc70387d9 thiago.bauermann at linaro dot org
@ 2024-01-21  1:12 ` pinskia at gcc dot gnu.org
  2024-01-25 19:46 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-01-21  1:12 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |inline-asm, ra,
                   |                            |rejects-valid
            Summary|[14 Regression ARM]         |[14 Regression]
                   |gcc.target/arm/asm-flag-1.c |gcc.target/arm/asm-flag-1.c
                   |fails since                 |fails since
                   |gcc-14-7248-g76bc70387d9    |gcc-14-7248-g76bc70387d9
   Target Milestone|---                         |14.0

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug target/113526] [14 Regression] gcc.target/arm/asm-flag-1.c fails since gcc-14-7248-g76bc70387d9
  2024-01-21  1:07 [Bug target/113526] New: [14 Regression ARM] gcc.target/arm/asm-flag-1.c fails since gcc-14-7248-g76bc70387d9 thiago.bauermann at linaro dot org
  2024-01-21  1:12 ` [Bug target/113526] [14 Regression] " pinskia at gcc dot gnu.org
@ 2024-01-25 19:46 ` cvs-commit at gcc dot gnu.org
  2024-01-26 20:30 ` thiago.bauermann at linaro dot org
  2024-01-28  5:45 ` pinskia at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-01-25 19:46 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Vladimir Makarov <vmakarov@gcc.gnu.org>:

https://gcc.gnu.org/g:476226290dba8cd7f3e9f4e3f0185b58903db8cd

commit r14-8435-g476226290dba8cd7f3e9f4e3f0185b58903db8cd
Author: Vladimir N. Makarov <vmakarov@redhat.com>
Date:   Thu Jan 25 14:41:17 2024 -0500

    [PR113526][LRA]: Fixing asm-flag-1.c failure on ARM

    My recent patch for PR113356 results in failure asm-flag-1.c test on arm.
    After the patch LRA treats asm operand pseudos as general regs.  There
    are too many such operands and LRA can not assign hard regs to all
    operand pseudos.  Actually we should not assign hard regs to the
    operand pseudo at all.  The following patch fixes this.

    gcc/ChangeLog:

            PR target/113526
            * lra-constraints.cc (curr_insn_transform): Change class even for
            spilled pseudo successfully matched with with NO_REGS.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug target/113526] [14 Regression] gcc.target/arm/asm-flag-1.c fails since gcc-14-7248-g76bc70387d9
  2024-01-21  1:07 [Bug target/113526] New: [14 Regression ARM] gcc.target/arm/asm-flag-1.c fails since gcc-14-7248-g76bc70387d9 thiago.bauermann at linaro dot org
  2024-01-21  1:12 ` [Bug target/113526] [14 Regression] " pinskia at gcc dot gnu.org
  2024-01-25 19:46 ` cvs-commit at gcc dot gnu.org
@ 2024-01-26 20:30 ` thiago.bauermann at linaro dot org
  2024-01-28  5:45 ` pinskia at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: thiago.bauermann at linaro dot org @ 2024-01-26 20:30 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Thiago Jung Bauermann <thiago.bauermann at linaro dot org> ---
I verified the fix here.

Thank you!

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug target/113526] [14 Regression] gcc.target/arm/asm-flag-1.c fails since gcc-14-7248-g76bc70387d9
  2024-01-21  1:07 [Bug target/113526] New: [14 Regression ARM] gcc.target/arm/asm-flag-1.c fails since gcc-14-7248-g76bc70387d9 thiago.bauermann at linaro dot org
                   ` (2 preceding siblings ...)
  2024-01-26 20:30 ` thiago.bauermann at linaro dot org
@ 2024-01-28  5:45 ` pinskia at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-01-28  5:45 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |FIXED

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Fixed.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-01-28  5:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-21  1:07 [Bug target/113526] New: [14 Regression ARM] gcc.target/arm/asm-flag-1.c fails since gcc-14-7248-g76bc70387d9 thiago.bauermann at linaro dot org
2024-01-21  1:12 ` [Bug target/113526] [14 Regression] " pinskia at gcc dot gnu.org
2024-01-25 19:46 ` cvs-commit at gcc dot gnu.org
2024-01-26 20:30 ` thiago.bauermann at linaro dot org
2024-01-28  5:45 ` pinskia at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).