https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119355
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- The array is declared as: std::array<uint8_t, REG_32> values; It looks like the failed assertion is: int val = p.arg + values[p.regno] + 256 * values[1 + p.regno]; so either p.regno is out of range, or 1+p.regno is out of range.