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

--- Comment #1 from Evan Nemerson <e...@coeus-group.com> ---
SImilar issue with right shift:


typedef long a;
typedef struct {
  a b __attribute__((__vector_size__(64)));
} c;
void d() {
  int e;
  c f, g;
  f.b = g.b >> e;
}


$ mips64el-linux-gnuabi64-g++-10 -march=loongson3a -mmsa -o test test.cpp
test.cpp: In function 'void d()':
test.cpp:9:1: error: unrecognizable insn:
    9 | }
      | ^
(insn 30 29 31 2 (set (reg:DI 216)
        (subreg:DI (mem/c:SI (reg/f:DI 189 virtual-stack-vars) [1 e+0 S4 A32])
0)) "test.cpp":8:13 -1
     (nil))
during RTL pass: vregs
test.cpp:9:1: internal compiler error: in extract_insn, at recog.c:2294
0x7f567e543d09 __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 <file:///usr/share/doc/gcc-10/README.Bugs> for instructions.

Reply via email to