https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121599
Bug ID: 121599 Summary: [15/16 Regression] ICE (unrecognizable insn) with SVE2 saturating add intrinsics Product: gcc Version: 16.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: acoplan at gcc dot gnu.org Target Milestone: --- The following fails: $ cat t.c #include <arm_sve.h> svuint8_t foo(svbool_t j, svuint8_t g, uint8_t e, svint8_t c) { return svsqadd_u8_z(j, g, svuqadd_n_s8_z(svpfalse(), c, e)); } $ gcc/xgcc -B gcc -c t.c -S -o /dev/null -O2 -march=armv8.2-a+sve2 t.c: In function ‘foo’: t.c:5:1: error: unrecognizable insn: 5 | } | ^ (insn 10 9 14 2 (set (reg:VNx16QI 101 [ <retval> ]) (unspec:VNx16QI [ (reg/v:VNx16BI 102 [ j ]) (unspec:VNx16QI [ (const_vector:VNx16QI repeat [ (const_int -1 [0xffffffffffffffff]) ]) (unspec:VNx16QI [ (reg/v:VNx16QI 103 [ g ]) (reg:VNx16QI 106) ] UNSPEC_USQADD) ] UNSPEC_PRED_X) (reg:VNx16QI 106) ] UNSPEC_SEL)) "t.c":4:10 discrim 1 -1 (nil)) during RTL pass: vregs t.c:5:1: internal compiler error: in extract_insn, at recog.cc:2884 0x232d8cb internal_error(char const*, ...) /home/alecop01/toolchain/src/gcc/gcc/diagnostic-global-context.cc:534 0x8092df fancy_abort(char const*, int, char const*) /home/alecop01/toolchain/src/gcc/gcc/diagnostics/context.cc:1687 0x7e857f _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /home/alecop01/toolchain/src/gcc/gcc/rtl-error.cc:108 0x7e85b3 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /home/alecop01/toolchain/src/gcc/gcc/rtl-error.cc:116 0xfa110b extract_insn(rtx_insn*) /home/alecop01/toolchain/src/gcc/gcc/recog.cc:2884 0xbf5087 instantiate_virtual_regs_in_insn /home/alecop01/toolchain/src/gcc/gcc/function.cc:1609 0xbf5087 instantiate_virtual_regs /home/alecop01/toolchain/src/gcc/gcc/function.cc:1985 0xbf5087 execute /home/alecop01/toolchain/src/gcc/gcc/function.cc:2032 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.