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