2 # All the following should be illegal for x86-64
8 bound
%eax
,(%rax
) # illegal
9 calll
*%eax
# 32-bit data size not allowed
10 calll
*(%ax
) # 32-bit data size not allowed
11 calll
*(%eax
) # 32-bit data size not allowed
12 calll
*(%r8) # 32-bit data size not allowed
13 calll
*(%rax
) # 32-bit data size not allowed
14 callq
*(%ax
) # no 16-bit addressing
17 enterl $
0,$
0 # can't have 32-bit stack operands
19 foo
: jcxz foo
# No prefix exists to select CX as a counter
20 jmpl
*%eax
# 32-bit data size not allowed
21 jmpl
*(%ax
) # 32-bit data size not allowed
22 jmpl
*(%eax
) # 32-bit data size not allowed
23 jmpl
*(%r8) # 32-bit data size not allowed
24 jmpl
*(%rax
) # 32-bit data size not allowed
25 jmpq
*(%ax
) # no 16-bit addressing
26 lcalll $
0,$
0 # illegal
27 lcallq $
0,$
0 # illegal
28 ldsl
%eax
,(%rax
) # illegal
29 ldsq
%rax
,(%rax
) # illegal
30 lesl
%eax
,(%rax
) # illegal
31 lesq
%rax
,(%rax
) # illegal
34 ljmpq
*(%rax
) # 64-bit data size not allowed
35 loopw foo
# No prefix exists to select CX as a counter
36 loopew foo
# No prefix exists to select CX as a counter
37 loopnew foo
# No prefix exists to select CX as a counter
38 loopnzw foo
# No prefix exists to select CX as a counter
39 loopzw foo
# No prefix exists to select CX as a counter
40 leavel
# can't have 32-bit stack operands
45 popl
%eax
# can't have 32-bit stack operands
51 pushl
%eax
# can't have 32-bit stack operands
52 pushfl
# can't have 32-bit stack operands
53 popfl
# can't have 32-bit stack operands
54 retl
# can't have 32-bit stack operands
55 insertq $
4,$
2,%xmm2
,%ebx
# The last operand must be XMM register.
66 mov
0x80000000(%rax
),%ebx
69 .intel_syntax noprefix
70 cmpxchg16b dword ptr
[rax
] # Must be oword
71 movq xmm1
, XMMWORD PTR
[rsp
]
72 movq xmm1
, DWORD PTR
[rsp
]
73 movq xmm1
, WORD PTR
[rsp
]
74 movq xmm1
, BYTE PTR
[rsp
]
75 movq XMMWORD PTR
[rsp
],xmm1
76 movq DWORD PTR
[rsp
],xmm1
77 movq WORD PTR
[rsp
],xmm1
78 movq BYTE PTR
[rsp
],xmm1
91 movnti word ptr
[rax
], ax
92 calld eax
# 32-bit data size not allowed
93 calld
[ax
] # 32-bit data size not allowed
94 calld
[eax
] # 32-bit data size not allowed
95 calld
[r8] # 32-bit data size not allowed
96 calld
[rax
] # 32-bit data size not allowed
97 callq
[ax
] # no 16-bit addressing
98 jmpd eax
# 32-bit data size not allowed
99 jmpd
[ax
] # 32-bit data size not allowed
100 jmpd
[eax
] # 32-bit data size not allowed
101 jmpd
[r8] # 32-bit data size not allowed
102 jmpd
[rax
] # 32-bit data size not allowed
103 jmpq
[ax
] # no 16-bit addressing