-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
JIT: Added SVE GetFfr, SetFfr, LoadVectorFirstFaulting, GatherVectorF…
…irstFaulting (#105595) * Initial work * FirstFaulting partially works * Added template * Trying to test first-faulting behavior * Using BoundedMemory to test FirstFaulting behavior for LoadVector. * Fix size in validation * Added more helper functions. Added conditional select tests for LoadVectorFirstFaulting. * Added first-faulting behavior tests for GatherVectorFirstFaulting * Added GetFfr suffix-style APIs * Fixing GatherVector tests * Formatting * Feedback * Feedback * Ensure the P/Invokes are blittable * Fix build * Remove checking for zeroes after the fault * Added GatherVectorFirstFaultingVectorBases test template, but currently without the FirstFaulting test. Added SveFfrTest template. * Mark GetFfr methods as side-effectful * Verifying expected fault result. Test weaks. * Fix build * Add tracking of FFR register somewhat workable code cleanup Remove FFR Add all the GetFfr* wip Work with MskCns() model Use physReg approach Remove commented prototypes working Remove bunch of unnecessary code Remove SpecialImport from GetFFR/SetFFR/LoadFirstFaulting some more code cleanup some fixup * Change condition for PhysReg * jit format * Fix PoisonPage configuration while creating BoundedMemory * Use mmap() instead of memalign() for memory allocation * review feedback * unspill for LoadVectorFirstFaulting as well * Show error codes on failing failure * Feedback * Feedback * Feedback * Feedback * Handle FFR correctly * reuse some of the code * Handle the special effect for SetFfr * some fixes + test coverage * do not zero init lvaFfrRegister * reverted local change * fix build break * Fixing flags for OSX * Fixup unix impl * Trying to fix build * Fix osx calls * Fix unix impl - forgot to use 'value' * Added default impl * Updating error messages * Attempt mprotect to determine which MAP_ANONYMOUS value to use * Attempt mprotect to determine which MAP_ANONYMOUS value to use * Add a way to query MAP_ANONYMOUS * Add a way to query MAP_ANONYMOUS * trying to figure out cmake reference * trying to figure out cmake reference * trying to figure out cmake reference * forgot to add cpp files * Use MemoryMappedFile and then use mprotect * Minor cleanup * Added XplatVirtualAlloc, hopefully it will work * Fix build * Fix build * Update hwintrinsiccodegenarm64.cpp * Trying to fix build * Use SystemNative * fix pinvoke * Get rid of writeline * Add mono check * Fix misspelled word * Check for wasm * Fix build * Use IsBrowser * Check IsWasi * Check IsBrowser a different way * Check IsMonoRuntime * Feedback. Check NETFRAMEWORK * Simplify check --------- Co-authored-by: Tanner Gooding <[email protected]> Co-authored-by: Kunal Pathak <[email protected]> Co-authored-by: Swapnil Gaikwad <[email protected]>
- Loading branch information
1 parent
f120fff
commit df09fd1
Showing
25 changed files
with
3,384 additions
and
168 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.