Index: src/trusted/validator_x86/testdata/32/crosses_block.tf |
diff --git a/src/trusted/validator_x86/testdata/32/crosses_block.tf b/src/trusted/validator_x86/testdata/32/crosses_block.tf |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bf662706d36558a849d6bc76ddde49cf8d993f1f |
--- /dev/null |
+++ b/src/trusted/validator_x86/testdata/32/crosses_block.tf |
@@ -0,0 +1,17 @@ |
+BITS: 32 |
+OUTCOME: invalid |
+ |
+# Example code where atomic instruction sequence crosses block alignment. |
+asm: nop; nop; nop; nop; nop; nop; nop; nop; nop; nop; nop; nop; nop; nop; nop; nop |
+hex: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 |
+ |
+asm: nop; nop; nop; nop; nop; nop; nop; nop; nop; nop; nop; nop; nop |
+hex: 90 90 90 90 90 90 90 90 90 90 90 90 90 |
+ |
+asm: and $0xffffffe0,%eax |
+hex: 83 e0 e0 |
+ |
+asm: call *%eax |
+hex: ff d0 |
+nc_out: Bad basic block alignment |
+ |