Index: src/trusted/validator_x86/testdata/64/shl_alias.tf |
diff --git a/src/trusted/validator_x86/testdata/64/shl_alias.tf b/src/trusted/validator_x86/testdata/64/shl_alias.tf |
new file mode 100644 |
index 0000000000000000000000000000000000000000..de83e97e53e3aad5b3773ffac087af57b9050c43 |
--- /dev/null |
+++ b/src/trusted/validator_x86/testdata/64/shl_alias.tf |
@@ -0,0 +1,29 @@ |
+BITS: 64 |
+OUTCOME: invalid |
+ |
+ |
+# For background, see: |
+# http://code.google.com/p/nativeclient/issues/detail?id=2576 |
+ |
+# "/4" encoding of SHL. This is what assemblers generate. |
+asm: shl %cl,%edi |
+hex: d3 e7 |
+ |
+asm: shl %edi |
+hex: d1 e7 |
+ |
+asm: shl $0x2,%edi |
+hex: c1 e7 02 |
+ |
+ |
+# "/6" encoding of SHL. This is an alias encoding, which we should |
+# disallow on the grounds of minimalism. |
+hex: d3 f7 |
+nc_out: ERROR: This instruction has been marked illegal by Native Client |
+ |
+hex: d1 f7 |
+nc_out: ERROR: This instruction has been marked illegal by Native Client |
+ |
+hex: c1 f7 02 |
+nc_out: ERROR: This instruction has been marked illegal by Native Client |
+ |