public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/101915] New: Microblaze ICE: in extract_insn, at recog.c:2770
@ 2021-08-14 21:15 giulio.benetti at benettiengineering dot com
  2021-08-16  9:10 ` [Bug target/101915] " rguenth at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: giulio.benetti at benettiengineering dot com @ 2021-08-14 21:15 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 101915
           Summary: Microblaze ICE: in extract_insn, at recog.c:2770
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: giulio.benetti at benettiengineering dot com
  Target Milestone: ---

When building package lmbench on buildroot we get this error:
'''
/home/giuliobenetti/git/upstream/output-microblaze-lmbench-gcc11/host/bin/microblazeel-buildroot-linux-uclibc-gcc
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -O2 -g0 
-I/home/giuliobenetti/git/upstream/output-microblaze-lmbench-gcc11/host/bin/../microblazeel-buildroot-linux-uclibc/sysroot/usr/include/tirpc
 -fno-tree-loop-distribute-patterns -DHAVE_off64_t -DHAVE_lseek64 -DRUSAGE
-DHAVE_uint=1 -DHAVE_int64_t=1 -DHAVE_pmap_clnt_h -DHAVE_socklen_t
-DHAVE_DRAND48 -DHAVE_SCHED_SETAFFINITY=1   -o ../bin/microblazeel/stream
stream.c ../bin/microblazeel/lmbench.a
-L/home/giuliobenetti/git/upstream/output-microblaze-lmbench-gcc11/host/bin/../microblazeel-buildroot-linux-uclibc/sysroot/usr/lib
-ltirpc 
-L/home/giuliobenetti/git/upstream/output-microblaze-lmbench-gcc11/host/bin/../microblazeel-buildroot-linux-uclibc/sysroot/usr/lib
-ltirpc -lm
par_ops.c: In function ‘int64_bit_2’:
par_ops.c:94:1: error: unrecognizable insn:
   94 | }
      | ^
par_ops.c:99:9: note: in expansion of macro ‘BENCHMARK’
   99 |         BENCHMARK(benchmark, 2, REPEAT_2)                              
\
      |         ^~~~~~~~~
par_ops.c:215:1: note: in expansion of macro ‘PARALLEL_BENCHMARKS’
  215 | PARALLEL_BENCHMARKS(int64_bit)
      | ^~~~~~~~~~~~~~~~~~~
(insn 353 354 352 3 (set (reg/v:DI 24 r24 [orig:74 i0 ] [74])
        (plus:DI (reg:DI 26 r26 [orig:48 _9 ] [48])
            (const_int -1 [0xffffffffffffffff]))) -1
     (nil))
during RTL pass: cprop_hardreg
par_ops.c:94:1: internal compiler error: in extract_insn, at recog.c:2770
   94 | }
      | ^
par_ops.c:99:9: note: in expansion of macro ‘BENCHMARK’
   99 |         BENCHMARK(benchmark, 2, REPEAT_2)                              
\
      |         ^~~~~~~~~
par_ops.c:215:1: note: in expansion of macro ‘PARALLEL_BENCHMARKS’
  215 | PARALLEL_BENCHMARKS(int64_bit)
      | ^~~~~~~~~~~~~~~~~~~
0x122170e diagnostic_impl(rich_location*, diagnostic_metadata const*, int, char
const*, __va_list_tag (*) [1], diagnostic_t)
        ???:0
0x12225ce internal_error(char const*, ...)
        ???:0
0x57a818 fancy_abort(char const*, int, char const*)
        ???:0
0x55c92f _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        ???:0
0x55c951 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        ???:0
0x55bc9e extract_insn(rtx_insn*) [clone .cold]
        ???:0
0xa24fec extract_constrain_insn(rtx_insn*)
        ???:0
0xa292c7 copyprop_hardreg_forward_1(basic_block_def*, value_data*) [clone
.isra.0]
        ???:0
0xa29fbd (anonymous namespace)::pass_cprop_hardreg::execute(function*)
        ???:0
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://bugs.buildroot.net/> for instructions.
make[3]: *** [Makefile:453: ../bin/microblazeel/par_ops] Error 1
make[2]: *** [Makefile:114: lmbench] Error 2
make[1]: *** [package/pkg-generic.mk:270:
/home/giuliobenetti/git/upstream/output-microblaze-lmbench-gcc11/build/lmbench-3.0-a9/.stamp_built]
Error 2
make: *** [Makefile:23: _all] Error 2
'''

To reproduce the bug:
'''
# git clone git://git.busybox.net/buildroot
# wget https://git.busybox.net/buildroot-test/tree/utils/br-reproduce-build

- modify BASE_GIT=... with your buildroot path in br-reproduce-build then:
# chmod a+x br-reproduce-build
# ./br-reproduce-build c6849f0f45b32e1f484fa5442b9d313fff4b2e8c
'''

I've found that it can be worked around disabling the optimization passing -O0
to CFLAGS.

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

* [Bug target/101915] Microblaze ICE: in extract_insn, at recog.c:2770
  2021-08-14 21:15 [Bug c/101915] New: Microblaze ICE: in extract_insn, at recog.c:2770 giulio.benetti at benettiengineering dot com
@ 2021-08-16  9:10 ` rguenth at gcc dot gnu.org
  2021-08-16  9:20 ` giulio.benetti at benettiengineering dot com
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-08-16  9:10 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
what GCC version is this?

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

* [Bug target/101915] Microblaze ICE: in extract_insn, at recog.c:2770
  2021-08-14 21:15 [Bug c/101915] New: Microblaze ICE: in extract_insn, at recog.c:2770 giulio.benetti at benettiengineering dot com
  2021-08-16  9:10 ` [Bug target/101915] " rguenth at gcc dot gnu.org
@ 2021-08-16  9:20 ` giulio.benetti at benettiengineering dot com
  2021-08-19 20:56 ` thomas.petazzoni@free-electrons.com
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: giulio.benetti at benettiengineering dot com @ 2021-08-16  9:20 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Giulio Benetti <giulio.benetti at benettiengineering dot com> ---
Ah yes, I’ve forgotten. I’ve tested up to gcc version 11.1.0, but I suspect it
happens on master branch too.

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

* [Bug target/101915] Microblaze ICE: in extract_insn, at recog.c:2770
  2021-08-14 21:15 [Bug c/101915] New: Microblaze ICE: in extract_insn, at recog.c:2770 giulio.benetti at benettiengineering dot com
  2021-08-16  9:10 ` [Bug target/101915] " rguenth at gcc dot gnu.org
  2021-08-16  9:20 ` giulio.benetti at benettiengineering dot com
@ 2021-08-19 20:56 ` thomas.petazzoni@free-electrons.com
  2021-08-20 17:49 ` giulio.benetti at benettiengineering dot com
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: thomas.petazzoni@free-electrons.com @ 2021-08-19 20:56 UTC (permalink / raw)
  To: gcc-bugs

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

Thomas Petazzoni <thomas.petazzoni@free-electrons.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |thomas.petazzoni@free-elect
                   |                            |rons.com

--- Comment #3 from Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---
Giulio: please provide a pre-processed version of the file that causes the
build issue, so that gcc developers can be more easily reproduce. They are
probably not familiar with Buildroot, and it takes a while to do the whole
build. Thanks!

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

* [Bug target/101915] Microblaze ICE: in extract_insn, at recog.c:2770
  2021-08-14 21:15 [Bug c/101915] New: Microblaze ICE: in extract_insn, at recog.c:2770 giulio.benetti at benettiengineering dot com
                   ` (2 preceding siblings ...)
  2021-08-19 20:56 ` thomas.petazzoni@free-electrons.com
@ 2021-08-20 17:49 ` giulio.benetti at benettiengineering dot com
  2021-08-20 18:04 ` giulio.benetti at benettiengineering dot com
  2021-08-23  8:18 ` marxin at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: giulio.benetti at benettiengineering dot com @ 2021-08-20 17:49 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Giulio Benetti <giulio.benetti at benettiengineering dot com> ---
Created attachment 51333
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51333&action=edit
Pre-processed par_ops.c(par_ops.i)

As suggested by Thomas here is pre-processed par_ops.c(par_ops.i) to help you
fix the bug.
Hope this is enough, otherwise ask me and I'll provide what you need.

Thank you

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

* [Bug target/101915] Microblaze ICE: in extract_insn, at recog.c:2770
  2021-08-14 21:15 [Bug c/101915] New: Microblaze ICE: in extract_insn, at recog.c:2770 giulio.benetti at benettiengineering dot com
                   ` (3 preceding siblings ...)
  2021-08-20 17:49 ` giulio.benetti at benettiengineering dot com
@ 2021-08-20 18:04 ` giulio.benetti at benettiengineering dot com
  2021-08-23  8:18 ` marxin at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: giulio.benetti at benettiengineering dot com @ 2021-08-20 18:04 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Giulio Benetti <giulio.benetti at benettiengineering dot com> ---
Created attachment 51336
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51336&action=edit
Pre-processed par_ops.c(par_ops.s)

Here is the assembler file too.

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

* [Bug target/101915] Microblaze ICE: in extract_insn, at recog.c:2770
  2021-08-14 21:15 [Bug c/101915] New: Microblaze ICE: in extract_insn, at recog.c:2770 giulio.benetti at benettiengineering dot com
                   ` (4 preceding siblings ...)
  2021-08-20 18:04 ` giulio.benetti at benettiengineering dot com
@ 2021-08-23  8:18 ` marxin at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-08-23  8:18 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |marxin at gcc dot gnu.org
   Last reconfirmed|                            |2021-08-23
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1

--- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> ---
Reduced test-case:

$ cat par_ops.i
typedef int int64_t __attribute__((__mode__(__DI__)));
typedef int64_t int64;
int64 int64_bit_3_r0, int64_bit_3_s0, int64_bit_3_r1, int64_bit_3_s1,
    int64_bit_3_r3, int64_bit_3_s3;
int int64_bit_3_iterations;

void
int64_bit_3() {
  int64 i0 = (int64_bit_3_s0 << 2) - 1;
  while (int64_bit_3_iterations--) {
    i0 -= 1;
    int64_bit_3_s0 ^= int64_bit_3_r0 |= i0;
    int64_bit_3_s1 ^= int64_bit_3_r1 |= int64_bit_3_s3 ^= int64_bit_3_r3 |=
        int64_bit_3_s3;
  }
}

$ ./xgcc -B. par_ops.i -c -O2
par_ops.i: In function ‘int64_bit_3’:
par_ops.i:16:1: error: unrecognizable insn:
   16 | }
      | ^
(insn 179 180 119 3 (set (reg/v:DI 4 r4 [orig:53 i0 ] [53])
        (plus:DI (reg:DI 10 r10 [orig:42 _2 ] [42])
            (const_int -1 [0xffffffffffffffff]))) -1
     (nil))
during RTL pass: cprop_hardreg
par_ops.i:16:1: internal compiler error: in extract_insn, at recog.c:2769
0x665017 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        /home/marxin/Programming/gcc2/gcc/rtl-error.c:108
0x665033 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        /home/marxin/Programming/gcc2/gcc/rtl-error.c:116
0x6632e5 extract_insn(rtx_insn*)
        /home/marxin/Programming/gcc2/gcc/recog.c:2769
0xcef2b8 extract_constrain_insn(rtx_insn*)
        /home/marxin/Programming/gcc2/gcc/recog.c:2668
0xcf4167 copyprop_hardreg_forward_1
        /home/marxin/Programming/gcc2/gcc/regcprop.c:825
0xcf5053 execute
        /home/marxin/Programming/gcc2/gcc/regcprop.c:1390
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

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

end of thread, other threads:[~2021-08-23  8:18 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-14 21:15 [Bug c/101915] New: Microblaze ICE: in extract_insn, at recog.c:2770 giulio.benetti at benettiengineering dot com
2021-08-16  9:10 ` [Bug target/101915] " rguenth at gcc dot gnu.org
2021-08-16  9:20 ` giulio.benetti at benettiengineering dot com
2021-08-19 20:56 ` thomas.petazzoni@free-electrons.com
2021-08-20 17:49 ` giulio.benetti at benettiengineering dot com
2021-08-20 18:04 ` giulio.benetti at benettiengineering dot com
2021-08-23  8:18 ` marxin 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).