3 # All the following should be illegal for x86-64
9 bound %eax,(%rax) # illegal
10 calll *%eax # 32-bit data size not allowed
11 calll *(%ax) # 32-bit data size not allowed
12 calll *(%eax) # 32-bit data size not allowed
13 calll *(%r8) # 32-bit data size not allowed
14 calll *(%rax) # 32-bit data size not allowed
15 callq *(%ax) # no 16-bit addressing
18 enterl $0,$0 # can't have 32-bit stack operands
20 foo: jcxz foo # No prefix exists to select CX as a counter
21 jmpl *%eax # 32-bit data size not allowed
22 jmpl *(%ax) # 32-bit data size not allowed
23 jmpl *(%eax) # 32-bit data size not allowed
24 jmpl *(%r8) # 32-bit data size not allowed
25 jmpl *(%rax) # 32-bit data size not allowed
26 jmpq *(%ax) # no 16-bit addressing
27 lcalll $0,$0 # illegal
28 lcallq $0,$0 # illegal
29 ldsl %eax,(%rax) # illegal
30 ldsq %rax,(%rax) # illegal
31 lesl %eax,(%rax) # illegal
32 lesq %rax,(%rax) # illegal
35 ljmpq *(%rax) # 64-bit data size not allowed
36 loopw foo # No prefix exists to select CX as a counter
37 loopew foo # No prefix exists to select CX as a counter
38 loopnew foo # No prefix exists to select CX as a counter
39 loopnzw foo # No prefix exists to select CX as a counter
40 loopzw foo # No prefix exists to select CX as a counter
41 leavel # can't have 32-bit stack operands
46 popl %eax # can't have 32-bit stack operands
52 pushl %eax # can't have 32-bit stack operands
53 pushfl # can't have 32-bit stack operands
54 popfl # can't have 32-bit stack operands
55 retl # can't have 32-bit stack operands
56 insertq $4,$2,%xmm2,%ebx # The last operand must be XMM register.
67 mov 0x80000000(%rax),%ebx
83 .intel_syntax noprefix
84 cmpxchg16b dword ptr [rax] # Must be oword
85 movq xmm1, XMMWORD PTR [rsp]
86 movq xmm1, DWORD PTR [rsp]
87 movq xmm1, WORD PTR [rsp]
88 movq xmm1, BYTE PTR [rsp]
89 movq XMMWORD PTR [rsp],xmm1
90 movq DWORD PTR [rsp],xmm1
91 movq WORD PTR [rsp],xmm1
92 movq BYTE PTR [rsp],xmm1
105 movnti word ptr [rax], ax
106 calld eax # 32-bit data size not allowed
107 calld [ax] # 32-bit data size not allowed
108 calld [eax] # 32-bit data size not allowed
109 calld [r8] # 32-bit data size not allowed
110 calld [rax] # 32-bit data size not allowed
111 callq [ax] # no 16-bit addressing
112 jmpd eax # 32-bit data size not allowed
113 jmpd [ax] # 32-bit data size not allowed
114 jmpd [eax] # 32-bit data size not allowed
115 jmpd [r8] # 32-bit data size not allowed
116 jmpd [rax] # 32-bit data size not allowed
117 jmpq [ax] # no 16-bit addressing