| Index: src/trusted/validator/x86/testing/tf/converted/64/maskmov_test.tf
|
| diff --git a/src/trusted/validator/x86/testing/tf/converted/64/maskmov_test.tf b/src/trusted/validator/x86/testing/tf/converted/64/maskmov_test.tf
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c168ace17a9a92e7e0915e6d38f197693ebffb93
|
| --- /dev/null
|
| +++ b/src/trusted/validator/x86/testing/tf/converted/64/maskmov_test.tf
|
| @@ -0,0 +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
|
| +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
|
| +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
|
| +
|
| +
|
|
|