| Index: src/trusted/validator_x86/testdata/64/maskmov_test.tf
|
| diff --git a/src/trusted/validator_x86/testdata/64/maskmov_test.hex b/src/trusted/validator_x86/testdata/64/maskmov_test.tf
|
| similarity index 67%
|
| copy from src/trusted/validator_x86/testdata/64/maskmov_test.hex
|
| copy to src/trusted/validator_x86/testdata/64/maskmov_test.tf
|
| index 62fb2d511b7a7d1073f6ef0b147a8815bbae4fb2..c168ace17a9a92e7e0915e6d38f197693ebffb93 100644
|
| --- a/src/trusted/validator_x86/testdata/64/maskmov_test.hex
|
| +++ b/src/trusted/validator_x86/testdata/64/maskmov_test.tf
|
| @@ -1,17 +1,33 @@
|
| +BITS: 64
|
| +OUTCOME: invalid
|
| +
|
| # Show that we handle the expected sandboxing instructions for maskmov.
|
|
|
| # Case one: correct masking of segment DS:%rsi
|
| # 0000000000000000: 89 ff mov %edi, %edi
|
| # 0000000000000002: 49 8d 3c 3f lea %rdi, [%r15+%rdi*1]
|
| # 0000000000000006: 0f f7 d1 maskmovq %mmx2, %mmx1
|
| -89 ff
|
| -49 8d 3c 3f
|
| -0f f7 d1
|
| +asm: mov %edi,%edi
|
| +hex: 89 ff
|
| +
|
| +asm: lea (%r15,%rdi,1),%rdi
|
| +hex: 49 8d 3c 3f
|
| +
|
| +asm: maskmovq %mm1,%mm2
|
| +hex: 0f f7 d1
|
| +
|
| # Case two: incorrect masking of segment DS:%rsi
|
| # 0000000000000009: 01 ff add %edi, %edi
|
| # 000000000000000b: 49 8d 3c 3f lea %rdi, [%r15+%rdi*1]
|
| # 000000000000000f: 0f f7 d1 maskmovq %mmx2, %mmx1
|
| -01 ff
|
| -49 8d 3c 3f
|
| -0f f7 d1
|
| +asm: add %edi,%edi
|
| +hex: 01 ff
|
| +
|
| +asm: lea (%r15,%rdi,1),%rdi
|
| +hex: 49 8d 3c 3f
|
| +
|
| +asm: maskmovq %mm1,%mm2
|
| +hex: 0f f7 d1
|
| +nc_out: ERROR: Segment memory reference not allowed
|
| +
|
|
|
|
|