Open dingqunfei opened 1 year 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.
@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)
@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.
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