https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100762
Bug ID: 100762 Summary: [mips+msa] ICE when comparing 64 bit vectors Product: gcc Version: 10.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: e...@coeus-group.com Target Milestone: --- In MIPS with MSA enabled on GCC 10.2.1, any comparison operation on 64-bit vectors results in an ICE. Test case: typedef int i32x2 __attribute__((__vector_size__(8))); i32x2 cmp(i32x2 a, i32x2 b) { return a >= b; } $ mips64el-linux-gnuabi64-gcc-10 -march=loongson3a -mmsa -c -o test.o test.c mips64el-linux-gnuabi64-gcc-10 -march=loongson3a -mmsa -c -o test.o test2.c during RTL pass: expand test.c: In function 'cmp': test.c:4:12: internal compiler error: in mips_expand_vector_init, at config/mips/mips.c:22076 4 | return a >= b; | ~~^~~~ 0x7f420202dd09 __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. This is with GCC 10.2.1-6 from Debian: $ mips64el-linux-gnuabi64-gcc-10 --version mips64el-linux-gnuabi64-gcc-10 (Debian 10.2.1-6) 10.2.1 20210110 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.