diff options
Diffstat (limited to 'vec_float_neon.h')
-rw-r--r-- | vec_float_neon.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/vec_float_neon.h b/vec_float_neon.h index 2b4d616..6ce894a 100644 --- a/vec_float_neon.h +++ b/vec_float_neon.h @@ -296,7 +296,11 @@ namespace vecmathlib { } static realvec_t loadu(real_t const* p) { +#if defined __ARM_FEATURE_UNALIGNED return vld1_f32(p); +#else +# error "unaligned NEON loads not implemented" +#endif } static realvec_t loadu(real_t const* p, std::ptrdiff_t ioff) { @@ -339,7 +343,11 @@ namespace vecmathlib { // be atomic // p[0] = (*this)[0]; // p[1] = (*this)[1]; +#if defined __ARM_FEATURE_UNALIGNED vst1_f32(p, v); +#else +# error "unaligned NEON stores not implemented" +#endif } void storeu(real_t* p, std::ptrdiff_t ioff) const { |