| Index: src/trusted/validator_x86/testdata/64/nops.tf
|
| diff --git a/src/trusted/validator_x86/testdata/64/nops.tf b/src/trusted/validator_x86/testdata/64/nops.tf
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..dd1ed8be16c4d88dbb98bdca7f4ca3e6bd517439
|
| --- /dev/null
|
| +++ b/src/trusted/validator_x86/testdata/64/nops.tf
|
| @@ -0,0 +1,78 @@
|
| +BITS: 64
|
| +OUTCOME: invalid
|
| +
|
| +# Note: sequences of ordinary nops (90 90 90 ...) are added
|
| +# for bundle alignemnt.
|
| +
|
| +# Recommended nops
|
| +asm: nop
|
| +hex: 90
|
| +
|
| +asm: xchg %ax,%ax
|
| +hex: 66 90
|
| +
|
| +asm: nopl (%rax)
|
| +hex: 0F 1F 00
|
| +
|
| +hex: 0F 1F 40 00
|
| +
|
| +hex: 0F 1F 44 00 00
|
| +
|
| +hex: 66 0F 1F 44 00 00
|
| +
|
| +hex: 0F 1F 80 00 00 00 00
|
| +
|
| +asm: nop; nop; nop; nop
|
| +hex: 90 90 90 90
|
| +
|
| +hex: 0F 1F 84 00 00 00 00 00
|
| +
|
| +hex: 66 0F 1F 84 00 00 00 00 00
|
| +
|
| +# Large nops
|
| +hex: 66 2E 0F 1F 84 00 00 00 00 00
|
| +
|
| +asm: nop; nop; nop; nop; nop
|
| +hex: 90 90 90 90 90
|
| +
|
| +hex: 66 66 2E 0F 1F 84 00 00 00 00 00
|
| +
|
| +hex: 66 66 66 2E 0F 1F 84 00 00 00 00 00
|
| +
|
| +asm: nop; nop; nop; nop; nop; nop; nop; nop; nop
|
| +hex: 90 90 90 90 90 90 90 90 90
|
| +
|
| +hex: 66 66 66 66 2E 0F 1F 84 00 00 00 00 00
|
| +
|
| +hex: 66 66 66 66 66 2E 0F 1F 84 00 00 00 00 00
|
| +
|
| +hex: 66 66 66 66 66 66 2E 0F 1F 84 00 00 00 00 00
|
| +nc_out: [at +5] Bad basic block alignment.
|
| +
|
| +
|
| +# Illegal nops
|
| +hex: 66 66 90
|
| +nc_out: ERROR: More than one (non-REX) prefix byte specified
|
| +nc_out: ERROR: Duplicating a prefix byte is not allowed by Native Client
|
| +
|
| +hex: 66 66 66 90
|
| +nc_out: ERROR: More than one (non-REX) prefix byte specified
|
| +nc_out: ERROR: Duplicating a prefix byte is not allowed by Native Client
|
| +
|
| +hex: 3E 0F 1F 84 00 00 00 00 00
|
| +nc_out: ERROR: Uses a segment prefix byte not allowed by Native Client
|
| +
|
| +asm: nop; nop; nop; nop; nop; nop
|
| +hex: 90 90 90 90 90 90
|
| +
|
| +hex: 66 3E 0F 1F 84 00 00 00 00 00
|
| +nc_out: ERROR: More than one (non-REX) prefix byte specified
|
| +nc_out: ERROR: Uses a segment prefix byte not allowed by Native Client
|
| +nc_out: ERROR: Use of DATA16 (66) prefix for instruction not allowed by Native Client
|
| +
|
| +hex: 66 66 0F 1F 84 00 00 00 00 00
|
| +nc_out: ERROR: More than one (non-REX) prefix byte specified
|
| +nc_out: ERROR: Use of DATA16 (66) prefix for instruction not allowed by Native Client
|
| +nc_out: ERROR: Duplicating a prefix byte is not allowed by Native Client
|
| +
|
| +
|
|
|