On Wed, 24 Oct 2012, Jason Merrill wrote:

On 10/19/2012 04:40 PM, Marc Glisse wrote:
So between the following:
a) x?y:z means (x<0)?y:z
b) x?y:z means (x!=0)?y:z
c) x?y:z is rejected, only things like (x==t)?y:z are accepted
d) other

is the choice still b) ? That's an easy one, only 2 characters to change
in the patch (assuming the rest is correct) :-)

That would be my inclination, but I'm not a vector programming expert,

I'm not an expert at all either, and I find the OpenCL semantics quite confusing, where truth is implicitly x<0 for x?y:z but x!=0 for x&&y or !x, so in particular (x&&y)?z:t is not equivalent to x?y?z:t:t, and I am quite happy with your suggestion to deviate. I was surprised because I hadn't considered the possibility, but now I actually like it better than OpenCL ;-)

so I guess let's go with the OpenCL semantics.

Ok. I take it as: let's wait a few days in case people want to comment, then you'll review the original patch?

Thanks,

--
Marc Glisse

Reply via email to