gas/
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / x86-64-inval.s
CommitLineData
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 19foo: 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
62movzxl (%rax),%rax
63movnti %ax, (%rax)
64movntiw %ax, (%rax)
7d5e4556 65
f5804c90 66 .intel_syntax noprefix
fb9c77c7 67 cmpxchg16b dword ptr [rax] # Must be oword
582d5edd
L
68 movq xmm1, XMMWORD PTR [rsp]
69 movq xmm1, DWORD PTR [rsp]
70 movq xmm1, WORD PTR [rsp]
71 movq xmm1, BYTE PTR [rsp]
72 movq XMMWORD PTR [rsp],xmm1
73 movq DWORD PTR [rsp],xmm1
74 movq WORD PTR [rsp],xmm1
75 movq BYTE PTR [rsp],xmm1
7d5e4556
L
76 fnstsw eax
77 fnstsw al
78 fstsw eax
79 fstsw al
80 in rax,8
81 out 8,rax
5c07affc
L
82movsx ax, [rax]
83movsx eax, [rax]
84movsx rax, [rax]
85movzx ax, [rax]
86movzx eax, [rax]
87movzx rax, [rax]
88movnti word ptr [rax], ax
849830bd
L
89 calld eax # 32-bit data size not allowed
90 calld [ax] # 32-bit data size not allowed
91 calld [eax] # 32-bit data size not allowed
92 calld [r8] # 32-bit data size not allowed
93 calld [rax] # 32-bit data size not allowed
849830bd
L
94 callq [ax] # no 16-bit addressing
95 jmpd eax # 32-bit data size not allowed
96 jmpd [ax] # 32-bit data size not allowed
97 jmpd [eax] # 32-bit data size not allowed
98 jmpd [r8] # 32-bit data size not allowed
99 jmpd [rax] # 32-bit data size not allowed
849830bd 100 jmpq [ax] # no 16-bit addressing
This page took 0.412838 seconds and 4 git commands to generate.