-
Notifications
You must be signed in to change notification settings - Fork 5.3k
JIT: Added SVE Prefetch* APIs.
#103094
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
JIT: Added SVE Prefetch* APIs.
#103094
Changes from 6 commits
6740334
597490a
5c66924
5954a3a
29b0a54
a3c548f
73e5035
fc64346
2f4db44
086ebd3
6d803d2
463febe
7785abb
756624f
dd10b10
06ca1da
115b282
1e41770
351acfb
6c11287
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4608,6 +4608,11 @@ internal Arm64() { } | |
| public static System.Numerics.Vector<ulong> PopCount(System.Numerics.Vector<long> value) { throw null; } | ||
| public static System.Numerics.Vector<ulong> PopCount(System.Numerics.Vector<ulong> value) { throw null; } | ||
|
|
||
| public static unsafe void PrefetchBytes(System.Numerics.Vector<byte> mask, void* address, [ConstantExpected] SvePrefetchType prefetchType) { throw null; } | ||
| public static unsafe void PrefetchInt16(System.Numerics.Vector<ushort> mask, void* address, [ConstantExpected] SvePrefetchType prefetchType) { throw null; } | ||
| public static unsafe void PrefetchInt32(System.Numerics.Vector<uint> mask, void* address, [ConstantExpected] SvePrefetchType prefetchType) { throw null; } | ||
| public static unsafe void PrefetchInt64(System.Numerics.Vector<ulong> mask, void* address, [ConstantExpected] SvePrefetchType prefetchType) { throw null; } | ||
|
|
||
| public static System.Numerics.Vector<byte> ReverseElement(System.Numerics.Vector<byte> value) { throw null; } | ||
| public static System.Numerics.Vector<double> ReverseElement(System.Numerics.Vector<double> value) { throw null; } | ||
| public static System.Numerics.Vector<short> ReverseElement(System.Numerics.Vector<short> value) { throw null; } | ||
|
|
@@ -4940,6 +4945,22 @@ public enum SveMaskPattern : byte | |
| LargestMultipleOf3 = 30, // The largest multiple of 3. | ||
| All = 31 // All available (implicitly a multiple of two). | ||
| }; | ||
|
|
||
| public enum SvePrefetchType : byte | ||
|
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @kunalspathak @tannergooding was this enum type approved? I ask because of the
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I see a note here about they not approved? @tannergooding can you confirm?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. #97831 approved the The enum should have been approved as part of that, but wasn't looked at directly.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The enum names are different and were approved in #94007 (comment)
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @TIHan - can you update the names accordingly? |
||
| { | ||
| SV_PLDL1KEEP = 0, // Temporal fetch the addressed location for reading, to L1 cache. | ||
| SV_PLDL1STRM = 1, // Streaming fetch the addressed location for reading, to L1 cache. | ||
| SV_PLDL2KEEP = 2, // Temporal fetch the addressed location for reading, to L2 cache. | ||
| SV_PLDL2STRM = 3, // Streaming fetch the addressed location for reading, to L2 cache. | ||
| SV_PLDL3KEEP = 4, // Temporal fetch the addressed location for reading, to L3 cache. | ||
| SV_PLDL3STRM = 5, // Streaming fetch the addressed location for reading, to L3 cache. | ||
| SV_PSTL1KEEP = 8, // Temporal fetch the addressed location for writing, to L1 cache. | ||
| SV_PSTL1STRM = 9, // Streaming fetch the addressed location for writing, to L1 cache. | ||
| SV_PSTL2KEEP = 10, // Temporal fetch the addressed location for writing, to L2 cache. | ||
| SV_PSTL2STRM = 11, // Streaming fetch the addressed location for writing, to L2 cache. | ||
| SV_PSTL3KEEP = 12, // Temporal fetch the addressed location for writing, to L3 cache. | ||
| SV_PSTL3STRM = 13 // Streaming fetch the addressed location for writing, to L3 cache. | ||
| }; | ||
| } | ||
| namespace System.Runtime.Intrinsics.X86 | ||
| { | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.