intel / ARM_NEON_2_x86_SSE

The platform independent header allowing to compile any C/C++ code containing ARM NEON intrinsic functions for x86 target systems using SIMD up to AVX2 intrinsic functions
Other
430 stars 149 forks source link

vfmaq_laneq_f32 is not available #64

Open dingqunfei opened 1 year ago

Zvictoria commented 1 year ago

I believe it is float32x4_t vmlaq_lane_f32(float32x4_t a, float32x4_t b, float32x2_t v, __constrange(0,1) int l) function that you mean. Could you please confirm? Looks like "laneq" functions are some local dialect of "lane" functions that is missing in the classical ARM docs, that's why I use "lane" versions

beru commented 2 months ago

It seems vfmaq_laneq_f32 is not the same as vmlaq_lane_f32.

func 1st arg 2nd arg 3rd arg 4th arg
vfmaq_laneq_f32 float32x4_t a float32x4_t b float32x4_t v const int lane (0..3)
vfmaq_lane_f32 float32x4_t a float32x4_t b float32x2_t v const int lane (0..1)
vmlaq_lane_f32 float32x4_t a float32x4_t b float32x2_t v const int lane (0..1)

Please check that the 3rd and the 4th arguments are not the same.

Zvictoria commented 2 months ago

@beru anyway, all these functions are from ARM64 spec, that is not implemented in this project yet. And the main showstopper here is the lack of existing ARM64 tests to use (AFAIK)

beru commented 2 months ago

@Zvictoria thank you for the explanation. The other project hasn't been updated for a while so it looks like there's not much chance of seeing ARM64 tests from there.