Index: src/trusted/validator/x86/testing/tf/converted/64/size_error.tf |
diff --git a/src/trusted/validator/x86/testing/tf/converted/64/size_error.tf b/src/trusted/validator/x86/testing/tf/converted/64/size_error.tf |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d14a50ba53acf73fbf095f5e9a8001178537e723 |
--- /dev/null |
+++ b/src/trusted/validator/x86/testing/tf/converted/64/size_error.tf |
@@ -0,0 +1,25 @@ |
+BITS: 64 |
+OUTCOME: invalid |
+ |
+# The following checks if we catch the use of data 66/Rex.W specifying |
+# undetermined operand size. |
+ |
+# The following checks that we allow Rex.w. |
+# 0000000000000000: 48 01 c3 add %rbx, %rax |
+asm: add %rax,%rbx |
+hex: 48 01 c3 |
+ |
+ |
+# The following checks that we allow data 66. |
+# 0000000000000003: 66 01 c3 add %bx, %ax |
+asm: add %ax,%bx |
+hex: 66 01 c3 |
+ |
+ |
+# The following checks that we don't allow Rex.w and data 66 |
+hex: 66 48 01 c3 |
+nc_out: ERROR: Opcode sequence doesn't define a valid x86 instruction |
+nc_out: ERROR: Use of DATA16 (66) prefix for instruction not allowed by Native Client |
+nc_out: [at +3] ERROR: This instruction has been marked illegal by Native Client |
+nc_out: [at +3] ERROR: Illegal assignment to RSP |
+ |