-
Notifications
You must be signed in to change notification settings - Fork 7
Two more glitches in avx.nim #22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
My pull-request-25 fixes the return vectors in
-- |
Hey, thanks for updating the PR. I was looking again and noticed that the As for fixing the other issues, I'm fine with getting all the corrections in this PR. It is easy to make little mistakes with this so I am happy to fix them as we notice them. |
yeah, another obvious bug - squashed it :) but still untested...
i'm fine with that - lets do this properly. greets, andreas |
Hello guzba,
in
avx.nim
lines 226-230 ::AFAIK should return the same vector-types that they received. These should be double/single-precision vectors of 128b..
func mm_permutevar_pd*(a: M128d, b: M128i): M128d {.importc: "_mm_permutevar_pd".}
...
func mm_permutevar_ps*(a: M128, b: M128i): M128 {.importc: "_mm_permutevar_ps".}
and if you don't mind - sure you will :) - one could fix the terrible Intel-naming just a bit by adding the missing ::
Since everybd. has to add them anyways - after one got trapped... Same could/should be done for the
256bit
-sized vectors.And don't get me wrong here - i just suggest to add what Intel has left out, but evbd. expects to find. But staying with the Intel-wording. Actually a
permutevar_<type>
is apermute
-operation - well, many operation permute a vector. In this case it is ashuffle
-operation..Maybe one could add a
common_avx.nim
that adds those missing functions to make the intrinsics a bit more consistent ?just my 20ct, greets Andreas
we are gettin' closer to nimsimd v2 :)
The text was updated successfully, but these errors were encountered: