https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101159
Bug ID: 101159 Summary: [12 Regression] ICE Segmentation fault since r12-1707-ge08a125b208e717f Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: crazylht at gmail dot com Target Milestone: --- I see the following ICE: $ cat bitmap.ii unsigned long bitmap_single_bit_set_p_count; long bitmap_single_bit_set_p_elt_0_0; void bitmap_single_bit_set_p() { bitmap_single_bit_set_p_count += __builtin_popcountl(bitmap_single_bit_set_p_elt_0_0); } $ g++ bitmap.ii -c -O3 during GIMPLE pass: slp bitmap.ii: In function ‘void bitmap_single_bit_set_p()’: bitmap.ii:3:6: internal compiler error: Segmentation fault 3 | void bitmap_single_bit_set_p() { | ^~~~~~~~~~~~~~~~~~~~~~~ 0x117d266 crash_signal /home/marxin/Programming/gcc/gcc/toplev.c:327 0x7ffff786139f ??? ../sysdeps/unix/sysv/linux/sigaction.c:10 0xefd333 tree_class_check(tree_node*, tree_code_class, char const*, int, char const*) /home/marxin/Programming/gcc/gcc/tree.h:3493 0xefd333 direct_optab_supported_p /home/marxin/Programming/gcc/gcc/internal-fn.c:3533 0x1d47e57 vect_recog_popcount_pattern /home/marxin/Programming/gcc/gcc/tree-vect-patterns.c:1388 0x1d4b18a vect_pattern_recog_1 /home/marxin/Programming/gcc/gcc/tree-vect-patterns.c:5584 0x1d52ae9 vect_pattern_recog(vec_info*) /home/marxin/Programming/gcc/gcc/tree-vect-patterns.c:5742 0x14429eb vect_slp_analyze_bb_1 /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5561 0x14429eb vect_slp_region /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5669 0x1444a68 vect_slp_bbs /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5819 0x1444e64 vect_slp_function(function*) /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5905 0x144b35a execute /home/marxin/Programming/gcc/gcc/tree-vectorizer.c:1445 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.