No, reduction patterns won't help. As I said in vfwmul patch. You should make sure your environment is working then try again. Thanks. juzhe.zhong@rivai.ai From: Jeff Law Date: 2023-06-30 07:43 To: 钟居哲; gcc-patches CC: kito.cheng; kito.cheng; palmer; palmer; rdapp.gcc Subject: Re: [PATCH] RISC-V: Support vfwnmacc/vfwmsac/vfwnmsac combine lowering On 6/28/23 16:56, 钟居哲 wrote: > > > ------------------------------------------------------------------------ > juzhe.zhong@rivai.ai > > *From:* Jeff Law > *Date:* 2023-06-29 06:43 > *To:* 钟居哲 ; gcc-patches > > *CC:* kito.cheng ; kito.cheng > ; palmer ; > palmer ; rdapp.gcc > > *Subject:* Re: [PATCH] RISC-V: Support vfwnmacc/vfwmsac/vfwnmsac > combine lowering > On 6/28/23 16:10, 钟居哲 wrot > > Sure. > > > > https://godbolt.org/z/8857KzTno > > > > Failed to match this instruction: > > (set (reg:VNx2DF 134 [ vect__31.47 ]) > > (fma:VNx2DF (neg:VNx2DF (float_extend:VNx2DF (reg:VNx2SF 136 [ > > vect__28.44 ]))) > > (reg:VNx2DF 150 [ vect__8.12 ]) > > (reg:VNx2DF 171 [ vect__29.45 ]))) > Please attach the full dump. I would expect to see additional attempts > with more operands replaced. THanks for the dump. I think this fundamentally the same issue as the widening problem. Drop those intermediate patterns. They're not needed/helpful. You may need a dependency height reduction pattern to get the code you want, but I see no evidence those extra patterns will solve anything. jeff