According to the ARM C Language Extensions the 64x1 types should all be passed in the SIMD registers rather than GPRs, and should not be assignment-compatible with [u]int64_t / float64_t (as they are at present). These two patches (first for float64x1_t, second for [u]int64x1_t) make these types into vector types as per GNU vector extensions.

In the int64x1 patch I also fix the type signatures of the many scalar (d_s64/d_u64) intrinsics, which had previously used int64x1_t in place of int64_t (the two previously having been indistinguishable).

I expect these to backport to 4.9 straightforwardly...

Ok for trunk?

--Alan

Reply via email to