Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(96)

Unified Diff: src/trusted/validator_x86/testdata/64/push.tf

Issue 10908137: (abandoned) Validator tests: convert hexes to TFs and run on bots (for prod. validator only) (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: restore 'read overflow' and 'SegmentationError' Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/trusted/validator_x86/testdata/64/push.tf
diff --git a/src/trusted/validator_x86/testdata/64/push.tf b/src/trusted/validator_x86/testdata/64/push.tf
new file mode 100644
index 0000000000000000000000000000000000000000..74e3966660e3f575c987442bff643e617eec6668
--- /dev/null
+++ b/src/trusted/validator_x86/testdata/64/push.tf
@@ -0,0 +1,31 @@
+BITS: 64
+OUTCOME: invalid
+
+# Tests that push operand sizes work correctly.
+
+# The following tests the default size (which is 4 bytes).
+asm: pushq $0x6050403
+hex: 68 03 04 05 06
+
+
+# The following tests that rex.w doesn't effect the size.
+asm: rex.W pushq $0x6050403
+hex: 48 68 03 04 05 06
+
+
+# The following tests that data66 defines the size as 2 bytes.
+asm: data16; .byte 0x68; .byte 0x3; .byte 0x4
+hex: 66 68 03 04
+
+
+# The following shows that we don't allow rex.w and a data 66 prefix.
+asm: data16; rex.W; .byte 0x68; .byte 0x3; .byte 0x4
+hex: 66 48 68 03 04
+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: Invalid base register in memory offset
+
+
+asm: nop; nop; nop; nop
+hex: 90 90 90 90
+

Powered by Google App Engine
This is Rietveld 408576698