https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90955
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Yes this is one of the most obvious violations of aliasing rules. Note the strict alias warnings in recent versions been removed as they providing too many false positives. Use either -fno-strict-aliasing or have an array of uint16_t and do memcpy instead.