https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93346
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to andi from comment #3) > > The bzhi patterns all match some odd if_then_else only to guard against > > inx & 255 == 0: > > Is that guard needed? At least clang doesn't seem to care about it. The guard is needed for the semantics of zero_extract yes, zero_extract with a zero size is not well defined in GCC RTL. We used to define it to be based on the what is expected below but see PR 65368.