.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 *(%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
+ lahf # illegal
+ 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
+ sahf # illegal