https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119133
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2025-03-06
Status|UNCONFIRMED |NEW
Summary|[14/15 Regression] ICE: |[14/15 Regression] ICE:
|SIGSEGV in mark_label_nuses |SIGSEGV in mark_label_nuses
|(emit-rtl.cc:3896) with -O |(emit-rtl.cc:3896) with -O
|-fno-tree-ter and _Float16 |-fno-tree-ter and _Float16
| |since r14-1131
Ever confirmed|0 |1
See Also| |https://gcc.gnu.org/bugzill
| |a/show_bug.cgi?id=109632
Target Milestone|--- |14.3
CC| |rsandifo at gcc dot gnu.org
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This is the split:
```
(define_insn_and_split "*aarch64_bfi<GPI:mode><ALLX:mode>_<SUBDI_BITS>"
[(set (zero_extract:GPI (match_operand:GPI 0 "register_operand" "+r,w,?w")
(const_int SUBDI_BITS)
(match_operand 1 "const_int_operand"))
(zero_extend:GPI (match_operand:ALLX 2 "register_operand" "r,w,r")))]
"<SUBDI_BITS> <= <ALLX:sizen>
&& multiple_p (UINTVAL (operands[1]), <SUBDI_BITS>)
&& UINTVAL (operands[1]) + <SUBDI_BITS> <= <GPI:sizen>"
"#"
"&& 1"
[(set (zero_extract:GPI (match_dup 0)
(const_int SUBDI_BITS)
(match_dup 1))
(match_dup 2))]
{
operands[2] = lowpart_subreg (<GPI:MODE>mode, operands[2],
<ALLX:MODE>mode);
}
[(set_attr "type" "bfm,neon_ins_q,neon_ins_q")
(set_attr "arch" "*,simd,simd")]
)
```
Which was added with r14-1131-gb096a6ebe9d9f9 .
The problem is again lowpart_subreg, this time with:
(subreg:HI (reg:HF 106 [ fD.4486 ]) 0)