| .text |
| # All the following should be illegal for x86-64 |
| aaa # illegal |
| aad # illegal |
| aam # illegal |
| aas # illegal |
| arpl %ax,%ax # illegal |
| bound %eax,(%rax) # illegal |
| calll *%eax # 32-bit data size not allowed |
| calll *(%ax) # 32-bit data size not allowed |
| calll *(%eax) # 32-bit data size not allowed |
| calll *(%r8) # 32-bit data size not allowed |
| calll *(%rax) # 32-bit data size not allowed |
| callq *(%ax) # 32-bit data size not allowed |
| callw *(%ax) # no 16-bit addressing |
| daa # illegal |
| das # illegal |
| enterl $0,$0 # can't have 32-bit stack operands |
| into # illegal |
| foo: jcxz foo # No prefix exists to select CX as a counter |
| jmpl *%eax # 32-bit data size not allowed |
| jmpl *(%rax) # 32-bit data size not allowed |
| lcalll $0,$0 # illegal |
| lcallq $0,$0 # illegal |
| ldsl %eax,(%rax) # illegal |
| ldsq %rax,(%rax) # illegal |
| lesl %eax,(%rax) # illegal |
| lesq %rax,(%rax) # illegal |
| ljmpl $0,$0 # illegal |
| ljmpq $0,$0 # illegal |
| ljmpq *(%rax) # 64-bit data size not allowed |
| loopw foo # No prefix exists to select CX as a counter |
| loopew foo # No prefix exists to select CX as a counter |
| loopnew foo # No prefix exists to select CX as a counter |
| loopnzw foo # No prefix exists to select CX as a counter |
| loopzw foo # No prefix exists to select CX as a counter |
| leavel # can't have 32-bit stack operands |
| pop %ds # illegal |
| pop %es # illegal |
| pop %ss # illegal |
| popa # illegal |
| popl %eax # can't have 32-bit stack operands |
| push %cs # illegal |
| push %ds # illegal |
| push %es # illegal |
| push %ss # illegal |
| pusha # illegal |
| pushl %eax # can't have 32-bit stack operands |
| pushfl # can't have 32-bit stack operands |
| popfl # can't have 32-bit stack operands |
| retl # can't have 32-bit stack operands |