-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
ARM64-SVE: Add ConvertToSingle
, ConvertToDouble
; fix CovertTo*
tests
#104478
Conversation
As of writing, all the stress tests are passing for
I wonder if the actual API is reading the mask vector in 64-bit chunks instead of 32-bit ones, such that it sees
|
I think that's fine. |
I ran into similar issue for |
I see, let me take a look at that locally... |
Note regarding the
|
1 similar comment
Note regarding the
|
Tagging subscribers to this area: @dotnet/area-system-runtime-intrinsics |
@kunalspathak it looks like the casting logic is fine, but when compiling the |
@amanasifkhalid - are you unblocked on this or still investigating? |
@kunalspathak I figured out where we are getting the mask size wrong: When lowering intrinsics with embedded masks here, we need to use the auxiliary SIMD type for the
I wonder if I'm misinterpreting how the |
that's right |
@kunalspathak I updated the test template to skip the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks!
/ba-g unrelated NativeAOT infra failure |
Part of #99957, and follow-up to #104259. I noticed the
ConvertTo*
tests weren't correctly testing cases where we convert from larger types to smaller types (for example, see the odd/even lane behavior for SCVTF). I've updated the test helper methods to check for these cases, and the stress tests are passing for existingConvertTo*
APIs (Int32
,UInt32
,Int64
,UInt64
).@dotnet/arm64-contrib PTAL, thanks!