https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87665
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> --- Since r254694 only changed all -std modes to match -std=c++17 I bisected again using -std=c++17 to find the change that really caused it, and it was indeed r246301 which first removed that null check. However, this isn't the full story, because on x86_64 we generate correct code at r246301 and r254694, even after Ville's changes removed the null check. For x86_64 everything is OK until r255268. Weird.