https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95713
Bug ID: 95713 Summary: [10/11 Regression] ICE in emit_move_insn when converting int2 vector to short2 vector for -march=skylake-avx512 -m32 Product: gcc Version: 10.1.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: kretz at kde dot org Target Milestone: --- Target: i?86-*-* Compile the following testcase with `-O1 -march=skylake-avx512 -m32` (cf. https://godbolt.org/z/FASxSm): using int2 [[gnu::vector_size(8)]] = int; using short2 [[gnu::vector_size(4)]] = short; void f(short2); void g(int2 a) { short2 b{short(a[0]), short(a[1])}; f(4 > b); } Resulting Output: during RTL pass: expand <source>: In function 'void g(int2)': <source>:7:38: internal compiler error: in emit_move_insn, at expr.c:3815 7 | short2 b{short(a[0]), short(a[1])}; | ^