https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103830
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- > I think it is rather common to have something at address zero, > for instance interrupt tables or device registers, > and therefore it's not OK to optimize those volatile accesses away. -fno-delete-null-pointer-checks is designed for that use case.