> I think my original (failed) idea was this pattern to be an > intermediate/bridge > pattern that never splits. Yes, this pattern should not be hit by design, and any changes to the layout of pattern may result in some vwsll autovec failure.
> Once we need to "split" maybe the regular shift is > better or at least similar? Actually it is something similar to short = char << int. Maybe we can 1. extend char to short. 2. truncate int to short. Then regular short shift is suitable here. Honestly I am not sure it is better than vwsll. Pan -----Original Message----- From: Robin Dapp <rdapp....@gmail.com> Sent: Saturday, August 10, 2024 10:32 PM To: Li, Pan2 <pan2...@intel.com>; gcc-patches@gcc.gnu.org Cc: juzhe.zh...@rivai.ai; kito.ch...@gmail.com; jeffreya...@gmail.com; Robin Dapp <rdapp....@gmail.com> Subject: Re: [PATCH v1] RISC-V: Bugfix incorrect operand for vwsll auto-vect A bit of bikeshedding: While it's obviously a bug, I'm not really sure it's useful to truncate before emitting the widening shift. Do we save an instruction vs. the regular non-widening shift by doing so? I think my original (failed) idea was this pattern to be an intermediate/bridge pattern that never splits. Once we need to "split" maybe the regular shift is better or at least similar? -- Regards Robin