<div dir="ltr">On Wed, Sep 11, 2013 at 3:34 PM, Hal Finkel <span dir="ltr"><<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">----- Original Message -----<br>
> On Sep 11, 2013, at 3:29 PM, Hal Finkel < <a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a> > wrote:<br>
><br>
><br>
><br>
><br>
><br>
> ----- Original Message -----<br>
><br>
><br>
> ----- Original Message -----<br>
><br>
><br>
> Hal —<br>
><br>
> Am I understanding this correctly:<br>
><br>
> vector4float x;<br>
> vector4int16 y = (vector4int16)x; // this is a conversion<br>
> vector4int32 z = (vector4int32)x; // this is a bitcast<br>
><br>
> This seems confusing in the extreme.<br>
><br>
> On the other hand, I don't really like the implied int-to-float<br>
> bitcast semantics. Maybe it would be better to just add a warning<br>
> for this case. What do you think?<br>
><br>
> bitcast semantics for vector casts are an essential tool for SIMD<br>
> programming. Essentially all warnings generated would be false<br>
> positives.<br>
<br>
</div></div>Do you specifically mean in OpenCL, or generally? (I've worked on SIMD special function implementations, so I understand the utility).<br><br></blockquote><div><br></div><div>OpenCL doesn't allow writing casts like this at all, if that's what you're asking; OpenCL requires using intrinsics.<br>
</div><div><br></div><div>-Eli </div></div></div></div>