Re: [PATCH]AArch64: Take into account when VF is higher than known scalar iters

2024-09-20 Thread Richard Sandiford
Tamar Christina writes: > Hi All, > > Consider low overhead loops like: > > void > foo (char *restrict a, int *restrict b, int *restrict c, int n) > { > for (int i = 0; i < 9; i++) > { > int res = c[i]; > int t = b[i]; > if (a[i] != 0) > res = t; > c[i] = res;

Re: [PATCH]AArch64: Take into account when VF is higher than known scalar iters

2024-09-20 Thread Richard Sandiford
>> Subject: Re: [PATCH]AArch64: Take into account when VF is higher than known >> scalar iters >> >> Tamar Christina writes: >> >> >> >> So my gut instinct is that we should instead tweak the condition for >> >> using latency costs, but

RE: [PATCH]AArch64: Take into account when VF is higher than known scalar iters

2024-09-20 Thread Tamar Christina
> -Original Message- > From: Richard Sandiford > Sent: Friday, September 20, 2024 3:48 PM > To: Tamar Christina > Cc: gcc-patches@gcc.gnu.org; nd ; Richard Earnshaw > ; Marcus Shawcroft > ; ktkac...@gcc.gnu.org > Subject: Re: [PATCH]AArch64: Take into account when

Re: [PATCH]AArch64: Take into account when VF is higher than known scalar iters

2024-09-20 Thread Richard Sandiford
Tamar Christina writes: >> >> So my gut instinct is that we should instead tweak the condition for >> using latency costs, but I'll need to think about it more when I get >> back from holiday. >> > > I think that's a separate problem.. From first principals it should already > be very wrong to c

RE: [PATCH]AArch64: Take into account when VF is higher than known scalar iters

2024-09-20 Thread Tamar Christina
> -Original Message- > From: Richard Sandiford > Sent: Friday, September 20, 2024 3:02 PM > To: Tamar Christina > Cc: gcc-patches@gcc.gnu.org; nd ; Richard Earnshaw > ; Marcus Shawcroft > ; ktkac...@gcc.gnu.org > Subject: Re: [PATCH]AArch64: Take into account when

Re: [PATCH]AArch64: Take into account when VF is higher than known scalar iters

2024-09-20 Thread Richard Sandiford
Tamar Christina writes: > Hi All, > > Consider low overhead loops like: > > void > foo (char *restrict a, int *restrict b, int *restrict c, int n) > { > for (int i = 0; i < 9; i++) > { > int res = c[i]; > int t = b[i]; > if (a[i] != 0) > res = t; > c[i] = res;