public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/95528] New: internal compiler error: in emit_move_insn, at expr.c:3814
@ 2020-06-04  9:54 slyfox at inbox dot ru
  2020-06-04  9:58 ` [Bug c++/95528] " slyfox at inbox dot ru
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: slyfox at inbox dot ru @ 2020-06-04  9:54 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 95528
           Summary: internal compiler error: in emit_move_insn, at
                    expr.c:3814
           Product: gcc
           Version: 10.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: slyfox at inbox dot ru
  Target Milestone: ---

The bug is initially reported in https://bugs.gentoo.org/727028 as an ICE on
firefox-77 code by Thomas Deutschmann.

Here is the minimal reproducer reduced by creduce:

$ cat bug.cc
template <typename a> struct b {
  typedef a c __attribute__((vector_size(sizeof(a) * 4)));
  union {
    c d;
    struct {
      a e, f, g, h;
    };
  };
  b();
  b(const b &i) : d(i.d) {}
  static b j(c);
  template <typename k> operator b<k>() {
    b<k>::j(typename b<k>::c{e, f, g, h});
  }
};
template <typename a> using l = b<a>;
using m = l<char>;
using n = l<short>;
m o(n i) { return i; }
b<short> q;
void p() { o(q); }

$ LANG=C /usr/bin/x86_64-pc-linux-gnu-g++ -march=skylake-avx512 -O2 -c bug.cc
-o bug.o

during RTL pass: expand
bug.cc: In function 'void p()':
bug.cc:13:12: internal compiler error: in emit_move_insn, at expr.c:3814
   13 |     b<k>::j(typename b<k>::c{e, f, g, h});
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0x5cb5cc emit_move_insn(rtx_def*, rtx_def*)
        ../../gcc-11.0.0_pre9999/gcc/expr.c:3814
0x82e459 load_register_parameters
        ../../gcc-11.0.0_pre9999/gcc/calls.c:3143
0x82e459 expand_call(tree_node*, rtx_def*, int)
        ../../gcc-11.0.0_pre9999/gcc/calls.c:4589
0x942856 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        ../../gcc-11.0.0_pre9999/gcc/expr.c:11135
0x94cc64 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier,
rtx_def**, bool)
        ../../gcc-11.0.0_pre9999/gcc/expr.c:8358
0x94cc64 store_expr(tree_node*, rtx_def*, int, bool, bool)
        ../../gcc-11.0.0_pre9999/gcc/expr.c:5752
0x94e1f9 expand_assignment(tree_node*, tree_node*, bool)
        ../../gcc-11.0.0_pre9999/gcc/expr.c:5514
0x83c40a expand_call_stmt
        ../../gcc-11.0.0_pre9999/gcc/cfgexpand.c:2701
0x83c40a expand_gimple_stmt_1
        ../../gcc-11.0.0_pre9999/gcc/cfgexpand.c:3682
0x83c40a expand_gimple_stmt
        ../../gcc-11.0.0_pre9999/gcc/cfgexpand.c:3847
0x842916 expand_gimple_basic_block
        ../../gcc-11.0.0_pre9999/gcc/cfgexpand.c:5887
0x842916 execute
        ../../gcc-11.0.0_pre9999/gcc/cfgexpand.c:6571
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://bugs.gentoo.org/> for instructions.

Both gcc-10 and gcc-master are affected.

gcc-master crash for comparison:

$ ${HOME}/dev/git/gcc-native-quick/gcc/xg++ -B
${HOME}/dev/git/gcc-native-quick/gcc -march=skylake-avx512 -O2 -c bug.cc -o
bug.o

during RTL pass: expand
bug.cc: In function 'void p()':
bug.cc:13:12: internal compiler error: in emit_move_insn, at expr.c:3814
   13 |     b<k>::j(typename b<k>::c{e, f, g, h});
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0x7f1550e53d59 __libc_start_main
        ../csu/libc-start.c:308
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.

$ ${HOME}/dev/git/gcc-native-quick/gcc/xg++ -B
${HOME}/dev/git/gcc-native-quick/gcc -v
Reading specs from /home/slyfox/dev/git/gcc-native-quick/gcc/specs
COLLECT_GCC=/home/slyfox/dev/git/gcc-native-quick/gcc/xg++
COLLECT_LTO_WRAPPER=/home/slyfox/dev/git/gcc-native-quick/gcc/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc/configure --enable-languages=c,c++ --disable-bootstrap
--with-multilib-list=m64
--prefix=/home/slyfox/dev/git/gcc-native-quick/../gcc-native-quick-installed
--disable-nls --without-isl --disable-libsanitizer --disable-libvtv
--disable-libgomp --disable-libstdcxx-pch --disable-libunwind-exceptions
CFLAGS='-O1 ' CXXFLAGS='-O1 ' --with-sysroot=/usr/x86_64-HEAD-linux-gnu
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.0.0 20200604 (experimental) (GCC)

Not sure if it's the same as bug #95394. That bug says it's a gcc-11
regression, but this one happens on gcc-10.1.0 as well.

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

end of thread, other threads:[~2020-06-14 11:47 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-04  9:54 [Bug c++/95528] New: internal compiler error: in emit_move_insn, at expr.c:3814 slyfox at inbox dot ru
2020-06-04  9:58 ` [Bug c++/95528] " slyfox at inbox dot ru
2020-06-04 10:32 ` [Bug middle-end/95528] [10/11 Regression] " rguenth at gcc dot gnu.org
2020-06-04 17:02 ` ubizjak at gmail dot com
2020-06-04 17:22 ` ubizjak at gmail dot com
2020-06-04 18:50 ` jakub at gcc dot gnu.org
2020-06-04 19:03 ` slyfox at inbox dot ru
2020-06-05  9:01 ` rsandifo at gcc dot gnu.org
2020-06-05  9:04 ` rsandifo at gcc dot gnu.org
2020-06-05 11:37 ` jakub at gcc dot gnu.org
2020-06-05 11:57 ` rsandifo at gcc dot gnu.org
2020-06-08  9:06 ` cvs-commit at gcc dot gnu.org
2020-06-08  9:10 ` [Bug middle-end/95528] [10 " jakub at gcc dot gnu.org
2020-06-14 10:07 ` cvs-commit at gcc dot gnu.org
2020-06-14 11:47 ` jakub 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).