i#6744: Use xrstors32 and xsaves32 for invariant checker test on x86-32. #6747
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.
tool.drcachesim.invariant_checker_test fails on x86-32 with the following error:
1/371 Test #11: tool.drcachesim.invariant_checker_test ...........................***Failed 0.04 sec
Recording |Too many read records| in T1 @ ref # 16 (6 instrs since timestamp 0)
Recording |Too many read records| in T1 @ ref # 17 (6 instrs since timestamp 0)
Recording |Too many read records| in T1 @ ref # 18 (6 instrs since timestamp 0)
Recording |Too many read records| in T1 @ ref # 19 (6 instrs since timestamp 0)
Recording |Too many write records| in T1 @ ref # 21 (7 instrs since timestamp 0)
Recording |Too many write records| in T1 @ ref # 22 (7 instrs since timestamp 0)
Recording |Too many write records| in T1 @ ref # 23 (7 instrs since timestamp 0)
Recording |Too many write records| in T1 @ ref # 24 (7 instrs since timestamp 0)
Unexpected error: Too many read records at ref: 16
Unexpected error: Too many read records at ref: 17
Unexpected error: Too many read records at ref: 18
Unexpected error: Too many read records at ref: 19
Unexpected error: Too many write records at ref: 21
Unexpected error: Too many write records at ref: 22
Unexpected error: Too many write records at ref: 23
Unexpected error: Too many write records at ref: 24
OP_xsaves64 and OP_xrstors32 are marked as o64 (X86_INVALID) in core/ir/x86/decode_table.c.
instr_is_xsave() and instr_is_xrstor() return false on x86-32, hence not skipping the number of read/write record check in the invariant check on x86_32.
Use xrstors32 and xsaves32 instead for the test on x86_32.
Fixes #6744