Commit | Line | Data |
---|---|---|
831b02f6 NC |
1 | .text |
2 | # All the following should be illegal for x86-64 | |
526355d2 NC |
3 | aaa # illegal |
4 | aad # illegal | |
5 | aam # illegal | |
6 | aas # illegal | |
7 | arpl %ax,%ax # illegal | |
8 | bound %eax,(%rax) # illegal | |
831b02f6 NC |
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 | |
849830bd | 14 | callq *(%ax) # no 16-bit addressing |
526355d2 NC |
15 | daa # illegal |
16 | das # illegal | |
17 | enterl $0,$0 # can't have 32-bit stack operands | |
18 | into # illegal | |
831b02f6 | 19 | foo: jcxz foo # No prefix exists to select CX as a counter |
526355d2 | 20 | jmpl *%eax # 32-bit data size not allowed |
849830bd L |
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 | |
849830bd | 25 | jmpq *(%ax) # no 16-bit addressing |
526355d2 NC |
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 | |
32 | ljmpl $0,$0 # illegal | |
33 | ljmpq $0,$0 # 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 | |
41 | pop %ds # illegal | |
42 | pop %es # illegal | |
43 | pop %ss # illegal | |
44 | popa # illegal | |
831b02f6 | 45 | popl %eax # can't have 32-bit stack operands |
526355d2 NC |
46 | push %cs # illegal |
47 | push %ds # illegal | |
48 | push %es # illegal | |
49 | push %ss # illegal | |
50 | pusha # illegal | |
831b02f6 NC |
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 | |
526355d2 | 54 | retl # can't have 32-bit stack operands |
f48ff2ae | 55 | insertq $4,$2,%xmm2,%ebx # The last operand must be XMM register. |
7d5e4556 L |
56 | fnstsw %eax |
57 | fnstsw %al | |
58 | fstsw %eax | |
59 | fstsw %al | |
60 | in $8,%rax | |
61 | out %rax,$8 | |
5c07affc L |
62 | movzxl (%rax),%rax |
63 | movnti %ax, (%rax) | |
64 | movntiw %ax, (%rax) | |
7d5e4556 | 65 | |
0e1147d9 L |
66 | mov 0x80000000(%rax),%ebx |
67 | mov 0x80000000,%ebx | |
68 | ||
f5804c90 | 69 | .intel_syntax noprefix |
fb9c77c7 | 70 | cmpxchg16b dword ptr [rax] # Must be oword |
582d5edd L |
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 | |
7d5e4556 L |
79 | fnstsw eax |
80 | fnstsw al | |
81 | fstsw eax | |
82 | fstsw al | |
83 | in rax,8 | |
84 | out 8,rax | |
5c07affc L |
85 | movsx ax, [rax] |
86 | movsx eax, [rax] | |
87 | movsx rax, [rax] | |
88 | movzx ax, [rax] | |
89 | movzx eax, [rax] | |
90 | movzx rax, [rax] | |
91 | movnti word ptr [rax], ax | |
849830bd L |
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 | |
849830bd L |
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 | |
849830bd | 103 | jmpq [ax] # no 16-bit addressing |