Conversation
Signed-off-by: Lu Zeng <luzeng87@gmail.com>
Generate AESENC and AESENCLAST with scalar table-based IR2 instead of C helpers, and relocate the AES tables for AOT loading. Preserve memory and aliased round keys and release the consumed memory-address temporary before allocating the seven AES integer temporaries. This avoids corrupting the environment register on memory-source forms. Signed-off-by: Lu Zeng <luzeng87@gmail.com>
Signed-off-by: Lu Zeng <luzeng87@gmail.com>
Signed-off-by: Lu Zeng <luzeng87@gmail.com>
Signed-off-by: Lu Zeng <luzeng87@gmail.com>
Signed-off-by: Lu Zeng <luzeng87@gmail.com>
Direct AES and VAES round translation reuses a host integer temporary that holds the AES table address across consecutive round instructions. Pattern translation can return before the normal translator and overwrite that temporary, leaving the cache state valid even though the register no longer contains the table address. Reset the cache before attempting pattern translation so the following AES or VAES instruction reloads the correct address. Add AESENC, VAES XMM, and VAES YMM regressions with an intervening CMP/SBB pattern for both carry outcomes. Signed-off-by: Zhaoyang Xie <xie_zyang@163.com>
The hot AOT phase previously checked only that the guest completed successfully. A rejected cache can fall back to JIT and still produce the expected result, making the test pass without loading AOT code. When the test-only marker is requested, record the guest path after setting SEG_AOT_LOADED. Require that marker during the hot AOT phase for the AES and VAES integration guests. Signed-off-by: Zhaoyang Xie <xie_zyang@163.com>
Signed-off-by: Zhaoyang Xie <xie_zyang@163.com>
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR carries forward #432 on top of current
master.SEG_AOT_LOADED, so a JIT fallback cannot be reported as a successful AOT-cache runmasterValidation
ninja -C build-pr432-master-final -j8meson test -C build-pr432-master-final test-aes-vaes-rounds --print-errorlogsSEG_AOT_LOADED.git diff --check upstream/master...HEADpassed.The full
lat-pr-fastsuite and pairwise merge checks were not rerun. Validation is scoped to the instructions and code paths changed by this PR.Checklist
CONTRIBUTING.md.git commit -s).