"Radu Hobincu" <radu.hobi...@arh.pub.ro> writes:

> I have 16 vectorial registers in the machine R16-R31 which all have 128
> cells of 16 bits each. These support ALU operations and load/stores just
> as normal registers, but in one clock. So an
>
> add R16 R17 R18
>
> will add the whole R17 array with R18 (corresponding cells) and place the
> result in R16. The 'where' instruction places a mask on the array so the
> operation is done only where a certain condition is met. In the example in
> the previous e-mail, where `a` is less than `b`. I've read the description
> of doloop and I don't think I can use it in this case. I'll have to dig
> more or settle with -O0 and cry.

Ah, that sounds like a straight conditional execution model, which gcc
implements via cond_exec.  Look for define_cond_exec in the manual.

Ian

Reply via email to