Aarch64 / simd builtin question

2018-06-08 Thread Steve Ellcey
I have a question about the Aarch64 simd instructions and builtins. I want to unpack a __Float32x4 (V4SF) variable into two __Float64x2 variables. I can get the upper part with: __Float64x2_t a = __builtin_aarch64_vec_unpacks_hi_v4sf (x); But I can't seem to find a builtin that would get me the

Re: Aarch64 / simd builtin question

2018-06-08 Thread James Greenhalgh
On Fri, Jun 08, 2018 at 04:01:14PM -0500, Steve Ellcey wrote: > I have a question about the Aarch64 simd instructions and builtins. > > I want to unpack a __Float32x4 (V4SF) variable into two __Float64x2 > variables. I can get the upper part with: > > __Float64x2_t a = __builtin_aarch64_vec_unpa

Re: Aarch64 / simd builtin question

2018-06-08 Thread Steve Ellcey
On Fri, 2018-06-08 at 22:34 +0100, James Greenhalgh wrote: > > Are you in an environment where you can use arm_neon.h ? If so, that > would > be the best approach: > >   float32x4_t in; >   float64x2_t low = vcvt_f64_f32 (vget_low_f64 (in)); >   float64x2_t high = vcvt_high_f64_f32 (in); > > If