Support R_SPARC_WDISP10 and R_SPARC_H34.
[external/binutils.git] / gas / testsuite / gas / i386 / intelbad.s
1         .intel_syntax noprefix
2         .text
3 start:
4         add     eax, byte ptr [eax]
5         add     eax, qword ptr [eax]
6         add     [eax], 1
7         add     qword ptr [eax], 1
8         addpd   xmm0, dword ptr [eax]
9         addpd   xmm0, qword ptr [eax]
10         addpd   xmm0, tbyte ptr [eax]
11         addps   xmm0, dword ptr [eax]
12         addps   xmm0, qword ptr [eax]
13         addps   xmm0, tbyte ptr [eax]
14         addsd   xmm0, dword ptr [eax]
15         addsd   xmm0, tbyte ptr [eax]
16         addsd   xmm0, xmmword ptr [eax]
17         addss   xmm0, qword ptr [eax]
18         addss   xmm0, tbyte ptr [eax]
19         addss   xmm0, xmmword ptr [eax]
20         bound   eax, dword ptr [ebx]
21         bound   ax, word ptr [ebx]
22         call    byte ptr [eax]
23         call    qword ptr [eax]
24         call    tbyte ptr [eax]
25         call    xword ptr [eax]
26         cmps    [esi], es:[edi]
27         cmps    dword ptr [esi], word ptr es:[edi]
28         cmpxchg8b dword ptr [eax]
29         fadd    [eax]
30         fadd    word ptr [eax]
31         fadd    tbyte ptr [eax]
32         fbld    byte ptr [eax]
33         fbld    word ptr [eax]
34         fbstp   dword ptr [eax]
35         fbstp   qword ptr [eax]
36         fiadd   [eax]
37         fiadd   byte ptr [eax]
38         fild    [eax]
39         fild    byte ptr [eax]
40         fild    tbyte ptr [eax]
41         fist    [eax]
42         fist    byte ptr [eax]
43         fist    qword ptr [eax]
44         fistp   [eax]
45         fistp   byte ptr [eax]
46         fisttp  [eax]
47         fisttp  byte ptr [eax]
48         fld     [eax]
49         fld     word ptr [eax]
50         fldcw   dword ptr [eax]
51         fst     [eax]
52         fst     word ptr [eax]
53         fst     tbyte ptr [eax]
54         fstp    [eax]
55         fstp    word ptr [eax]
56         ins     es:[edi], dx
57         lds     ax, word ptr [eax]
58         lds     eax, dword ptr [eax]
59         lods    [esi]
60         movs    es:[edi], [esi]
61         movs    dword ptr es:[edi], word ptr [esi]
62         movsx   eax, [eax]
63         movsx   eax, dword ptr [eax]
64         outs    dx, [esi]
65         paddb   mm0, dword ptr [eax]
66         paddb   mm0, xmmword ptr [eax]
67         paddb   xmm0, dword ptr [eax]
68         paddb   xmm0, qword ptr [eax]
69         pinsrw  mm0, byte ptr [eax], 3
70         pinsrw  mm0, dword ptr [eax], 3
71         pinsrw  mm0, qword ptr [eax], 3
72         pinsrw  xmm0, dword ptr [eax], 7
73         pinsrw  xmm0, qword ptr [eax], 7
74         pinsrw  xmm0, xmmword ptr [eax], 7
75         push    byte ptr [eax]
76         push    qword ptr [eax]
77         scas    es:[edi]
78 #XXX?   shl     eax
79         stos    es:[edi]
80         xlat    word ptr [ebx]
81 #XXX?   xlatb   [ebx]
82
83         # expressions
84 #XXX?   push    ~ 1
85 #XXX?   push    1 % 1
86 #XXX?   push    1 << 1
87 #XXX?   push    1 >> 1
88 #XXX?   push    1 & 1
89 #XXX?   push    1 ^ 1
90 #XXX?   push    1 | 1
91         push    1 1
92         push    1 +
93         push    1 * * 1
94
95         # memory references
96         mov     eax, [ecx*3]
97         mov     eax, [3*ecx]
98         mov     eax, [-1*ecx + 1]
99         mov     eax, [esp + esp]
100         mov     eax, [eax - 1*ecx + 1]
101         mov     eax, [(eax-1) * (eax-1)]
102         mov     eax, [eax-1 xor eax-1]
103         mov     eax, [(eax-1) xor (eax-1)]
104         mov     eax, [not eax + 1]
105         mov     eax, [ecx*2 + edx*4]
106         mov     eax, [2*ecx + 4*edx]
107         mov     eax, [eax]1[ecx]                # ugly diag
108         mov     eax, [eax][ecx]1                # ugly diag
109         mov     eax, eax[ecx]                   # ugly diag
110         mov     eax, es[ecx]
111         mov     eax, cr0[ecx]
112         mov     eax, [eax]ecx
113         mov     eax, [eax]+ecx
114         mov     eax, [eax]+ecx*2
115         mov     eax, [eax]+2*ecx
116         mov     eax, [[eax]ecx]
117         mov     eax, eax:[ecx]
118
119         mov     eax, [ss]
120         mov     eax, [st]
121         mov     eax, [mm0]
122         mov     eax, [xmm0]
123         mov     eax, [cr0]
124         mov     eax, [dr7]
125
126         mov     eax, [ss+edx]
127         mov     eax, [st+edx]
128         mov     eax, [mm0+edx]
129         mov     eax, [xmm0+edx]
130         mov     eax, [cr0+edx]
131         mov     eax, [dr7+edx]
132
133         mov     eax, [edx+ss]
134         mov     eax, [edx+st]
135         mov     eax, [edx+cr0]
136         mov     eax, [edx+dr7]
137         mov     eax, [edx+mm0]
138         mov     eax, [edx+xmm0]
139
140         lea     eax, [bx+si*1]
141         lea     eax, [bp+si*2]
142         lea     eax, [bx+di*4]
143         lea     eax, [bp+di*8]
144         lea     eax, [bx+1*si]
145         lea     eax, [bp+2*si]
146         lea     eax, [bx+4*di]
147         lea     eax, [bp+8*di]
148
149         mov     eax, [ah]
150         mov     eax, [ax]
151         mov     eax, [eax+bx]
152         mov     eax, offset [eax]
153         mov     eax, offset eax
154         mov     eax, offset offset eax
155         mov     eax, offset [1*eax]
156         mov     eax, offset 1*eax
157 #XXX?   mov     eax, offset x[eax]
158 #XXX?   mov     eax, offset [x][eax]
159         mov     eax, flat x
160         mov     eax, flat [x]
161         mov     eax, es:eax
162         mov     eax, eax[ebp]
163         movzx   eax, 1 ptr [eax]
164         movzx   eax, byte word ptr [eax]
165         movzx   eax, [byte ptr eax]
166         movzx   eax, byte [ptr [eax]]
167         movzx   eax, byte ptr [gs:eax]
168         movzx   eax, byte gs:ptr [eax]
169         movzx   eax, byte ptr 1
170 #XXX?   movzx   eax, byte ptr [1]
171
172         mov     eax, 3:5