https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114523
--- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The bpf verifier is just plain broken when it comes to subreg usage. So after every 32bit usage you need to output a zero extend. To fix that.