] RISC-V: Bugfix incorrect operand for vwsll auto-vect
On 8/10/24 6:36 AM, pan2...@intel.com wrote:
> This patch would like to fix one ICE when rv64gcv_zvbb for vwsll.
> Consider below example.
>
> void vwsll_vv_test (short *restrict dst, char *restrict a,
>
On 8/10/24 6:36 AM, pan2...@intel.com wrote:
This patch would like to fix one ICE when rv64gcv_zvbb for vwsll.
Consider below example.
void vwsll_vv_test (short *restrict dst, char *restrict a,
int *restrict b, int n)
{
for (int i = 0; i < n; i++)
dst[i] = a[i] <<
On 8/10/24 8:31 AM, Robin Dapp wrote:
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?
At least for the test you added, there is no diff
l Message-
From: Robin Dapp
Sent: Saturday, August 10, 2024 10:32 PM
To: Li, Pan2 ; gcc-patches@gcc.gnu.org
Cc: juzhe.zh...@rivai.ai; kito.ch...@gmail.com; jeffreya...@gmail.com; Robin
Dapp
Subject: Re: [PATCH v1] RISC-V: Bugfix incorrect operand for vwsll auto-vect
A bit of bikeshedding:
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 tha
lgtm. thanks
--Reply to Message--
On Sat, Aug 10, 2024 20:36 PM pan2.li
From: Pan Li
This patch would like to fix one ICE when rv64gcv_zvbb for vwsll.
Consider below example.
void vwsll_vv_test (short *restrict dst, char *restrict a,
int *restrict b, int n)
{
for (int i = 0; i < n; i++)
dst[i] = a[i] << b[i];
}
It will hit the vwsll patter