Re: [PATCH] rs6000: Simplify *rotl3_insert_4 by removing DImode

2022-06-27 Thread Kewen.Lin via Gcc-patches
Hi Segher! on 2022/6/28 00:02, Segher Boessenkool wrote: > Hi! > > On Mon, Jun 27, 2022 at 05:35:03PM +0800, Kewen.Lin wrote: >> -(define_insn "*rotl3_insert_4" >> - [(set (match_operand:GPR 0 "gpc_reg_operand" "=r") >> -(ior:GPR (and:GPR (match_operand:GPR 3 "gpc_reg_operand" "0") >> -

Re: [PATCH] rs6000: Simplify *rotl3_insert_4 by removing DImode

2022-06-27 Thread Segher Boessenkool
Hi! On Mon, Jun 27, 2022 at 05:35:03PM +0800, Kewen.Lin wrote: > -(define_insn "*rotl3_insert_4" > - [(set (match_operand:GPR 0 "gpc_reg_operand" "=r") > - (ior:GPR (and:GPR (match_operand:GPR 3 "gpc_reg_operand" "0") > - (match_operand:GPR 4 "const_int_operand" "n")) >

[PATCH] rs6000: Simplify *rotl3_insert_4 by removing DImode

2022-06-27 Thread Kewen.Lin via Gcc-patches
Hi, define_insn *rotl3_insert_4 use mode iterator GPR which consists of SImode and conditional DImode, but the condition of this define_insn requires the mode should be SImode. By further checking, it's found that the rldimi instruction can not be used for this pattern since the required mask can