https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87763
--- Comment #20 from Segher Boessenkool <segher at gcc dot gnu.org> --- (In reply to Wilco from comment #19) > (In reply to Segher Boessenkool from comment #18) > > https://gcc.gnu.org/ml/gcc/2019-01/msg00112.html > > Thanks, I hadn't noticed that yet... I need to look at it in more detail, > but are you saying that combine no longer generates zero_extracts today and > all patterns that rely on it must be changed to a different canonical form? If you no longer see zero_extracts there must be some other reason for it. > I suspect the tst_5/6 cases are similar if the canonical form of rtl has > changed. It hasn't. > Note that doing (x & 63) != 0 just works fine, it's only 255 and > 65535 which appear to be treated differently... Yes, those are "simplified" to some subreg or whatever. This isn't new. It's what change_zero_ext is for, so that you don't have to deal with those forms if you have more generic instructions.