https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94356
--- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> --- That's because internally we use an unsigned type for offsets (including for the multiplication). There have been tries to change that...