On 29/09/2022 10:24, Richard Sandiford wrote:
Otherwise:

   operand0[0] = operand1 < operand2;
   for (i = 1; i < operand3; i++)
     operand0[i] = operand0[i - 1] && (operand1 + i < operand2);

looks like a "length and mask" operation, which IIUC is also what
RVV wanted?  (Wasn't at the Cauldron, so not entirely sure.)

Perhaps the difference is that in this case the length must be constant.
(Or is that true for RVV as well?)

I too saw that presentation and I have compared notes with Juzhe before posting this.

As he has posted, what they want is different because their config register has an explicit length field whereas GCN just uses a mask to limit the length (more like AArch64, I think).

The RVV solution uses different logic in the gimple IR; this proposal is indistinguishable from the status quo at that point.

Andrew

Reply via email to