-
Notifications
You must be signed in to change notification settings - Fork 554
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
i#2985 drx_expand_scatter_gather(): Add initial support to expand int…
…o scalar sequences. (#3831) Adds the function drx_expand_scatter_gather() that is capable of expanding AVX-512 scatter and gather and AVX2 gather instructions into equivalent sequences of scalar code. WARNING: Do not use yet, support is incomplete. In particular, * Certain registers may be clobbered by the sequence and will not be restored. * Application state may not be properly restored if the sequence is getting interrupted. * drreg may fail if used in other phases in addition to app2app (xref #3823). Furthermore, * AArch64 support is missing (xref #3837). * The qword index and value versions are not supported in 32-bit mode. Adds a limited test for the expanded sequences. The test works with above limitations, because the clobbered registers are not live in the test application and the application does not check the mask state until the instruction is complete. In the test application this may result in occasional duplicated scalar loads and stores, but will not break the test. Adds a check for the mask registers to test client.avx512ctx. Issue: #2985, #3837
- Loading branch information
Hendrik Greving
committed
Sep 17, 2019
1 parent
704b750
commit 4359ef1
Showing
9 changed files
with
1,248 additions
and
4 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
Oops, something went wrong.