https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119428

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
In GCC 13 combine produced:
```
Trying 12, 13 -> 14:
   12: r101:QI=0xfffffffffffffffe
   13: {r98:QI=r101:QI<-<r91:SI#0;clobber flags:CC;}
      REG_UNUSED flags:CC
      REG_DEAD r91:SI
   14: {[r100:DI+r94:DI]=[r100:DI+r94:DI]&r98:QI;clobber flags:CC;}
      REG_DEAD r94:DI
      REG_DEAD r100:DI
      REG_UNUSED flags:CC
      REG_DEAD r98:QI
Failed to match this instruction:
(parallel [
        (set (zero_extract:HI (mem:QI (plus:DI (reg:DI 100)
                        (reg:DI 94)) [0 *ADDR_11+0 S1 A8])
                (const_int 1 [0x1])
                (zero_extend:SI (subreg:QI (reg/v:SI 91 [ nrD.2738 ]) 0)))
            (const_int 0 [0]))
        (clobber (reg:CC 17 flags))
        (set (reg:QI 101)
            (const_int -2 [0xfffffffffffffffe]))
    ])
```

Notice the zero_extend to SI there .

Reply via email to