So the first version failed CI and after looking at the patch again, I think it can be improved. First, the output pattern might as well go ahead and use the zero_extract form. Second, we should be able to handle cases where all the ops are in word_mode as well as when the shift is in a narrow made. Third, the testcase should cover additional modes. Fourth, fix some lint issues with tabs vs spaces. This has only been lightly tested, so it should be interesting to see what CI shows. Jeff