https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128048
Roger Sayle <roger at nextmovesoftware dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2026-10-26
CC| |roger at nextmovesoftware dot
com
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
--- Comment #1 from Roger Sayle <roger at nextmovesoftware dot com> ---
This looks like a missing pattern (for sbfx) in arm.md. Combine reports
Trying 7 -> 13:
7: r100:HI#0=sign_extract(r99:HI#0,0xb,0x5)
REG_DEAD r99:HI
13: r0:SI=sign_extend(r100:HI)
REG_DEAD r100:HI
Failed to match this instruction:
(set (reg/i:SI 0 r0)
(sign_extend:SI (ashiftrt:HI (reg:HI 99 [ *p_3(D) ])
(const_int 5 [0x5]))))
i.e. the canonical form from combining sbfx (*extv_reg) with sxth
(*arm_extendhisi2_v6) isn't recognized as a sbfx variant. Either a
define_insn_and_split or an alternate-form define_insn is required.