[Bug target/112971] [14] RISC-V rv64gcv_zvl256b vector -O3: internal compiler error: Segmentation fault signal terminated program cc1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112971 --- Comment #5 from Robin Dapp --- Yes that's what I just tried. No infinite loop anymore then. But that's not a new simplification and looks reasonable so there must be something special for our backend.
[Bug target/112971] [14] RISC-V rv64gcv_zvl256b vector -O3: internal compiler error: Segmentation fault signal terminated program cc1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112971 --- Comment #4 from JuzheZhong --- Maybe try to remove this ? /* (X & Y) == X becomes (X & ~Y) == 0. */ (simplify (cmp:c (bit_and:c @0 @1) @0) (cmp (bit_and @0 (bit_not! @1)) { build_zero_cst (TREE_TYPE (@0)); })) (simplify (cmp:c (convert@3 (bit_and (convert@2 @0) INTEGER_CST@1)) (convert @0)) (if (INTEGRAL_TYPE_P (TREE_TYPE (@0)) && INTEGRAL_TYPE_P (TREE_TYPE (@2)) && INTEGRAL_TYPE_P (TREE_TYPE (@3)) && TYPE_PRECISION (TREE_TYPE (@2)) == TYPE_PRECISION (TREE_TYPE (@0)) && TYPE_PRECISION (TREE_TYPE (@3)) > TYPE_PRECISION (TREE_TYPE (@2)) && !wi::neg_p (wi::to_wide (@1))) (cmp (bit_and @0 (convert (bit_not @1))) { build_zero_cst (TREE_TYPE (@0)); })))
[Bug target/112971] [14] RISC-V rv64gcv_zvl256b vector -O3: internal compiler error: Segmentation fault signal terminated program cc1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112971 --- Comment #3 from Robin Dapp --- In match.pd we do something like this: ;; Function e (e, funcdef_no=0, decl_uid=2751, cgraph_uid=1, symbol_order=4) Pass statistics of "forwprop": Matching expression match.pd:2771, gimple-match-2.cc:35 Matching expression match.pd:2774, gimple-match-1.cc:66 Matching expression match.pd:2781, gimple-match-2.cc:96 Aborting expression simplification due to deep recursion Aborting expression simplification due to deep recursion Applying pattern match.pd:6784, gimple-match-5.cc:1742 Applying pattern match.pd:6784, gimple-match-5.cc:1742 Applying pattern match.pd:6784, gimple-match-5.cc:1742 Applying pattern match.pd:6784, gimple-match-5.cc:1742 Applying pattern match.pd:6784, gimple-match-5.cc:1742 Applying pattern match.pd:6784, gimple-match-5.cc:1742 Applying pattern match.pd:6784, gimple-match-5.cc:1742 Applying pattern match.pd:6784, gimple-match-5.cc:1742 Applying pattern match.pd:6784, gimple-match-5.cc:1742 Applying pattern match.pd:6784, gimple-match-5.cc:1742 Applying pattern match.pd:6784, gimple-match-5.cc:1742 gimple_simplified to _53 = { 0, ... } & { 8, 7, 6, ... }; _63 = { 0, ... } & { -9, -8, -7, ... }; _52 = { 0, ... } & { 8, 7, 6, ... }; _74 = { 0, ... } & { -9, -8, -7, ... }; _38 = { 0, ... } & { 8, 7, 6, ... }; _40 = { 0, ... } & { -9, -8, -7, ... }; _55 = { 0, ... } & { 8, 7, 6, ... }; _57 = { 0, ... } & { -9, -8, -7, ... }; _65 = { 0, ... } & { 8, 7, 6, ... }; _72 = { 0, ... } & { -9, -8, -7, ... }; _32 = { 0, ... } & { 8, 7, 6, ... }; mask__6.19_61 = _32 == { 0, ... }; That doesn't look particularly backend related but we're trying to simplify a mask so you never know...
[Bug target/112971] [14] RISC-V rv64gcv_zvl256b vector -O3: internal compiler error: Segmentation fault signal terminated program cc1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112971 --- Comment #2 from Robin Dapp --- It doesn't look like the same issue to me. The other bug is related to TImode handling in combination with mask registers. I will also have a look at this one.
[Bug target/112971] [14] RISC-V rv64gcv_zvl256b vector -O3: internal compiler error: Segmentation fault signal terminated program cc1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112971 --- Comment #1 from JuzheZhong --- I think it is the same issue that I asked Robin to take care of. Robin, could you confirm whether they are same issue (infinite loop due to SUBREG)?