----- Original Message ----- > > On Thu, Sep 12, 2013 at 2:14 PM, Hal Finkel < [email protected] > > wrote: > > > > > > > ----- Original Message ----- > > > > On Sep 12, 2013, at 2:08 PM, Hal Finkel < [email protected] > wrote: > > > > > ----- Original Message ----- > > >> > > >> On Wed, Sep 11, 2013 at 3:34 PM, Hal Finkel < [email protected] > > > >> wrote: > > >> > > >> ----- Original Message ----- > > >>> On Sep 11, 2013, at 3:29 PM, Hal Finkel < [email protected] > > > >>> wrote: > > >>> > > >>> > > >>> > > >>> > > >>> > > >>> ----- Original Message ----- > > >>> > > >>> > > >>> ----- Original Message ----- > > >>> > > >>> > > >>> Hal — > > >>> > > >>> Am I understanding this correctly: > > >>> > > >>> vector4float x; > > >>> vector4int16 y = (vector4int16)x; // this is a conversion > > >>> vector4int32 z = (vector4int32)x; // this is a bitcast > > >>> > > >>> This seems confusing in the extreme. > > >>> > > >>> On the other hand, I don't really like the implied int-to-float > > >>> bitcast semantics. Maybe it would be better to just add a > > >>> warning > > >>> for this case. What do you think? > > >>> > > >>> bitcast semantics for vector casts are an essential tool for > > >>> SIMD > > >>> programming. Essentially all warnings generated would be false > > >>> positives. > > >> > > >> Do you specifically mean in OpenCL, or generally? (I've worked > > >> on > > >> SIMD special function implementations, so I understand the > > >> utility). > > >> > > >> OpenCL doesn't allow writing casts like this at all, if that's > > >> what > > >> you're asking; OpenCL requires using intrinsics. > > > > > > So is there already an intrinsic that does what I want here? > > > > In OpenCL there are ~5000 of them (IIRC), yes. > > OIC, all of the convert_* functions. > > I've been thinking about constructing a patch to implement > __builtin_vectorconvert(type, value), do you think that is a > reasonable approach? > > > > > You mean, as a generic replacement for intrinsics like > _mm_cvtepi32_ps? That seems reasonable.
I've developed a patch for this; for better or worse it touches a lot of things, so I'll start a new thread (probably using phabricator). Thanks again, Hal > > -Eli -- Hal Finkel Assistant Computational Scientist Leadership Computing Facility Argonne National Laboratory _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
