https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90892
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. We turn it into _8 = __builtin_strcmp (&b, "A\x00"); and then inline-expansion to RTL compares beyond the literal zero. I think turning it into strcmp is wrong.