https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103676
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org, | |rearnsha at gcc dot gnu.org, | |vmakarov at gcc dot gnu.org Keywords|needs-bisection | --- Comment #19 from Jakub Jelinek <jakub at gcc dot gnu.org> --- r10-3981-gf6ff841bc8dd87ce364deb217dc6d1ec5dc31de8 still doesn't ICE, r10-3984-g22060d0e575e7754eb1355763d22bbe37c3caa13 already ICEs. I guess there is a disagreement between LRA and recog on how exactly they treat register constraints. "=lh" for TARGET_THUMB means LO_REGS or HI_REGS classes for the output, bet LRA sees that LO_REGS or HI_REGS is together GENERAL_REGS and picks a GENERAL_REGS (reg:DI 7 r7 [orig:119 tmp ] [119]). But that one has one half in LO_REGS and another half in HI_REGS and so extract_constrain_insn -> constrain_operands doesn't consider it as matching.