Uh oh!
There was an error while loading. Please reload this page.
JIT: Added SVE Prefetch* APIs. - #103094
Conversation
ghost
commented
Jun 5, 2024
Note regarding the |
ghost
commented
Jun 5, 2024
Note regarding the |
| All = 31 // All available (implicitly a multiple of two). | ||
| }; | ||
| public enum SvePrefetchType : byte |
There was a problem hiding this comment.
@kunalspathak@tannergooding was this enum type approved? I ask because of the SV_PLDL1KEEP names.
There was a problem hiding this comment.
I see a note here about they not approved? @tannergooding can you confirm?
There was a problem hiding this comment.
#97831 approved the Prefetch* APIs.
The enum should have been approved as part of that, but wasn't looked at directly.
There was a problem hiding this comment.
The enum names are different and were approved in #94007 (comment)
TIHan
commented
Jun 5, 2024
@dotnet/arm64-contrib @kunalspathak this is ready. There is no visible output to validate since this instruction is intended to be a hint. |
Tagging subscribers to this area: @dotnet/area-system-runtime-intrinsics |
| All = 31 // All available (implicitly a multiple of two). | ||
| }; | ||
| public enum SvePrefetchType : byte |
There was a problem hiding this comment.
I see a note here about they not approved? @tannergooding can you confirm?
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
kunalspathak
commented
Jun 6, 2024
also, need to handle immediate value and table generation logic. |
kunalspathak
commented
Jun 6, 2024
@a74nh - so for this API, there is no visual side effect, so wondering how do we test it? also, values 6 and 7 seems invalid(?) but we are not sure how to validate it. |
a74nh
commented
Jun 6, 2024
I'm not sure if there is anything we can test for. We can't read the setting back from the system.
We can't pass 6 or 7 as an immediate as C# compile will fail. So this only applies where it's in a variable, and we generate the lookup table. Testing this in C++ asm, prfw with 6 or 7 doesn't cause an error when run. So, I don't think we should do anything special, and keep this patch as is. |
kunalspathak
commented
Jun 6, 2024
Yes, i think the question was more towards variable and how we should handle it in table generation logic. It wasn't clear what translates to the
Thanks for confirming this. |
Uh oh!
There was an error while loading. Please reload this page.
a74nh
commented
Jun 7, 2024
Depends how you define valid :) |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
TIHan
commented
Jun 11, 2024
@kunalspathak this is ready again. #103288 will need to be merged first before this one. |
kunalspathak
left a comment
There was a problem hiding this comment.
There is some left over code that I don't think is needed. Also we should generalize the test template.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
TIHan
commented
Jun 12, 2024
Woo! |

Contributes to #99957
Adds:
PrefetchBytesPrefetchInt16PrefetchInt32PrefetchInt64