https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123784
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #1)
> (gdb) p debug_rtx(ref.base.reg)
> (subreg:OI (reg:V16QI 110 [ _16 ]) 0)
Note the above is awkward paradoxal subreg especially for big-endian.
CSE2 introduces it.
We start from:
```
(debug_insn 32 15 17 2 (var_location:OI D#1 (reg:OI 118)) -1
(nil))
(debug_insn 17 32 18 2 (var_location:OI q (debug_expr:OI D#1)) "t.c":9:5 -1
(nil))
```
To:
```
(debug_insn 33 14 32 2 (var_location:OI D#2 (subreg:OI (reg:V16QI 110 [ _16 ])
0)) -1
(nil))
(debug_insn 32 33 17 2 (var_location:OI D#1 (debug_expr:OI D#2)) -1
(nil))
(debug_insn 17 32 18 2 (var_location:OI q (debug_expr:OI D#1)) "t.c":9:5 -1
(nil))
```
So the subreg is kinda of incorrect as now only describing the upper half of
the register but there is not much to be done as r118 no longer exists.
Anyways I have a fix.