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

            Bug ID: 126148
           Summary: [Regression 15/16/17] ICE in extract_insn, at
                    recog.cc:2812 -mfpmath=387, target apxf since r15-1060
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mjires at gcc dot gnu.org
                CC: hongyuw at gcc dot gnu.org
  Target Milestone: ---
            Target: x86_64-pc-linux-gnu

Compiling reduced testcase gcc.target/i386/apx-ccmp-2.c results in ICE since
r15-1060-g0b6cea8783b9e1.

$ cat apx-ccmp-2.c
__attribute__((optimize(("finite-math-only")), target("apxf")))
int foo_fp_apx(int a, double b) {
  if (a || b)
    return 1;
  return 0;
}


$ gcc apx-ccmp-2.c -Os -msoft-float -mfpmath=387
apx-ccmp-2.c: In function ‘foo_fp_apx’:
apx-ccmp-2.c:6:1: error: unrecognizable insn:
    6 | }
      | ^
(insn 9 8 10 2 (set (reg:CCFP 17 flags)
        (compare:CCFP (reg/v:DF 103 [ b ])
            (reg:DF 105))) "apx-ccmp-2.c":3:9 -1
     (nil))
during RTL pass: vregs
apx-ccmp-2.c:6:1: internal compiler error: in extract_insn, at recog.cc:2894
0x277d335 internal_error(char const*, ...)
        /home/mjires/git/GCC/master/gcc/diagnostic-global-context.cc:787
0x2788823 fancy_abort(char const*, int, char const*)
        /home/mjires/git/GCC/master/gcc/diagnostics/context.cc:1813
0x1011236 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        /home/mjires/git/GCC/master/gcc/rtl-error.cc:108
0x1011255 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        /home/mjires/git/GCC/master/gcc/rtl-error.cc:116
0xfdd34a extract_insn(rtx_insn*)
        /home/mjires/git/GCC/master/gcc/recog.cc:2894
0xc00299 instantiate_virtual_regs_in_insn
        /home/mjires/git/GCC/master/gcc/function.cc:1611
0xc00299 instantiate_virtual_regs
        /home/mjires/git/GCC/master/gcc/function.cc:1987
0xc00299 execute
        /home/mjires/git/GCC/master/gcc/function.cc:2034
/home/mjires/built/master/libexec/gcc/x86_64-pc-linux-gnu/17.0.0/cc1 -quiet
apx-ccmp-2.c -quiet -dumpdir a- -dumpbase apx-ccmp-2.c -dumpbase-ext .c
-msoft-float -mfpmath=387 -mtune=generic -march=x86-64 -Os -Wall -o
/tmp/ccR9rOvz.s
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.


$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/home/mjires/built/master/libexec/gcc/x86_64-pc-linux-gnu/17.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /home/mjires/git/GCC/master/configure
--prefix=/home/mjires/built/master --disable-bootstrap
--enable-languages=c,c++,fortran,lto --disable-multilib --disable-libsanitizer
--enable-checking : (reconfigured) /home/mjires/git/GCC/master/configure
--prefix=/home/mjires/built/master --disable-bootstrap
--enable-languages=c,c++,fortran,lto --disable-multilib --disable-libsanitizer
--enable-checking
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 17.0.0 20260707 (experimental) (GCC)

Reply via email to