On Wed, Apr 14, 2021 at 09:45:35PM +0200, Jakub Jelinek wrote: > On Wed, Apr 14, 2021 at 02:42:54PM -0500, Segher Boessenkool wrote: > > > provably doesn't (that is from the splitter I wrote for the non-hard > > > regs), > > > nor > > > [(set (match_operand:GPI 0 "register_operand") > > > (LOGICAL:GPI > > > (and:GPI (ashift:GPI (match_operand:GPI 1 "register_operand") > > > (match_operand:QI 2 > > > "aarch64_shift_imm_<mode>")) > > > (match_operand:GPI 3 "const_int_operand")) > > > (zero_extend:GPI (subreg (match_dup 1) 0))))] > > > works (and it is unclear how I'd find out the mode of the subreg even if > > > it > > > worked). > > > > Just > > (subreg:QI (match_dup 1) 0) > > should work? > > That doesn't work either.
Why not? What goes wrong with that? Segher