https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128550
Drea Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2026-11-08
Ever confirmed|0 |1
--- Comment #1 from Drea Pinski <pinskia at gcc dot gnu.org> ---
Expand looks correct:
```
(insn 8 7 9 (set (reg:VNx8HI 104)
(const_vector:VNx8HI repeat [
(const_int 0 [0])
])) "/app/example.c":6:10 -1
(nil))
(insn 9 8 0 (set (reg:VNx8HI 101 [ <retval> ])
(plus:VNx8HI (unspec:VNx8HI [
(reg/v:VNx16QI 102 [ bD.17155 ])
(reg/v:VNx16QI 103 [ cD.17156 ])
] UNSPEC_SABAL)
(reg:VNx8HI 104))) "/app/example.c":6:10 -1
(nil))
```
But then combine does this:
```
Trying 2 -> 9:
2: r102:VNx16QI=r106:VNx16QI
REG_DEAD r106:VNx16QI
9: r101:VNx8HI=unspec[r102:VNx16QI,r103:VNx16QI]SABAL
REG_DEAD r103:VNx16QI
REG_DEAD r102:VNx16QI
Successfully matched this instruction:
(set (reg:VNx8HI 101 [ <retval> ])
(unspec:VNx8HI [
(reg:VNx16QI 106 [ bD.17155 ])
(reg/v:VNx16QI 103 [ cD.17156 ])
] UNSPEC_SABAL))
```
This would be correct if the UNSPEC_SABAL pattern was correctly done.