xref: /llvm-project/llvm/test/MC/X86/x86_operands.s (revision 3dce29b8e9002d1295918fd56de8b263f89c2f5e)
1// RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s
2
3# Immediates
4# CHECK: addl $1, %eax
5        addl $1, %eax
6# CHECK: addl $3, %eax
7        addl $(1+2), %eax
8# CHECK: addl $a, %eax
9        addl $a, %eax
10# CHECK: addl $3, %eax
11        addl $1 + 2, %eax
12
13# Disambiguation
14
15# CHECK: addl $1, 8
16        addl $1, 4+4
17# CHECK: addl $1, 8
18        addl $1, (4+4)
19# CHECK: addl $1, 8(%eax)
20        addl $1, 4+4(%eax)
21# CHECK: addl $1, 8(%eax)
22        addl $1, (4+4)(%eax)
23# CHECK: addl $1, 8(%eax)
24        addl $1, 8(%eax)
25# CHECK: addl $1, (%eax)
26        addl $1, (%eax)
27# CHECK: addl $1, 8(,%eax)
28        addl $1, (4+4)(,%eax)
29
30# Indirect Memory Operands
31# CHECK: addl $1, 1(%eax)
32        addl $1, 1(%eax)
33# CHECK: addl $1, 1(%eax,%ebx)
34        addl $1, 1(%eax,%ebx)
35# CHECK: addl $1, 1(%eax,%ebx)
36        addl $1, 1(%eax,%ebx,)
37# CHECK: addl $1, 1(%eax,%ebx,4)
38        addl $1, 1(%eax,%ebx,4)
39# CHECK: addl $1, 1(,%ebx)
40        addl $1, 1(,%ebx)
41# CHECK: addl $1, 1(,%ebx)
42        addl $1, 1(,%ebx,)
43# CHECK: addl $1, 1(,%ebx,4)
44        addl $1, 1(,%ebx,4)
45# CHECK: addl $1, 1(,%ebx,4)
46        addl $1, 1(,%ebx,(2+2))
47
48# '*'
49# CHECK: calll a
50        call a
51# CHECK: calll *%eax
52        call *%eax
53# CHECK: calll *4(%eax)
54        call *4(%eax)
55foo:
56	calll foo()
57# CHECK: calll foo{{$}}
58	calll foo(,)
59# CHECK: calll foo{{$}}
60
61# CHECK: movl	%gs:8, %eax
62movl %gs:8, %eax
63
64# Make sure we handle parsing uses of variables assigned
65# to registers in operands.
66
67v_ecx = %ecx
68v_eax = %eax
69v_gs  = %gs
70v_imm = 4
71
72#CHECK:	movl %eax, %ecx
73	movl %eax, v_ecx
74
75#CHECK: movl $1, %gs:0
76	movl $1, v_gs:(,)
77#CHECK: movl $1, %gs:(,%eax)
78	movl $1, v_gs:(,%eax)
79#CHECK: movl $1, %gs:(,%eax,2)
80	movl $1, v_gs:(,%eax,2)
81#CHECK: movl $1, %gs:(,%eax,4)
82	movl $1, v_gs:(,%eax,v_imm)
83#CHECK: movl $1, %gs:(,%eax)
84	movl $1, v_gs:(,v_eax)
85#CHECK: movl $1, %gs:(,%eax,2)
86	movl $1, v_gs:(,v_eax,2)
87#CHECK: movl $1, %gs:(,%eax,4)
88	movl $1, v_gs:(,v_eax,v_imm)
89#CHECK: movl $1, %gs:(%ecx)
90	movl $1, v_gs:(%ecx)
91#CHECK: movl $1, %gs:(%ecx)
92	movl $1, v_gs:(%ecx,)
93#CHECK: movl $1, %gs:(%ecx,%eax)
94	movl $1, v_gs:(%ecx,%eax)
95#CHECK: movl $1, %gs:(%ecx,%eax,2)
96	movl $1, v_gs:(%ecx,%eax,2)
97#CHECK: movl $1, %gs:(%ecx,%eax,4)
98	movl $1, v_gs:(%ecx,%eax,v_imm)
99#CHECK: movl $1, %gs:(%ecx,%eax)
100	movl $1, v_gs:(%ecx,v_eax)
101#CHECK: movl $1, %gs:(%ecx,%eax,2)
102	movl $1, v_gs:(%ecx,v_eax,2)
103#CHECK: movl $1, %gs:(%ecx,%eax,4)
104	movl $1, v_gs:(%ecx,v_eax,v_imm)
105#CHECK: movl $1, %gs:(%ecx)
106	movl $1, v_gs:(v_ecx)
107#CHECK: movl $1, %gs:(%ecx)
108	movl $1, v_gs:(v_ecx,)
109#CHECK: movl $1, %gs:(%ecx,%eax)
110	movl $1, v_gs:(v_ecx,%eax)
111#CHECK: movl $1, %gs:(%ecx,%eax,2)
112	movl $1, v_gs:(v_ecx,%eax,2)
113#CHECK: movl $1, %gs:(%ecx,%eax,4)
114	movl $1, v_gs:(v_ecx,%eax,v_imm)
115#CHECK: movl $1, %gs:(%ecx,%eax)
116	movl $1, v_gs:(v_ecx,v_eax)
117#CHECK: movl $1, %gs:(%ecx,%eax,2)
118	movl $1, v_gs:(v_ecx,v_eax,2)
119#CHECK: movl $1, %gs:(%ecx,%eax,4)
120	movl $1, v_gs:(v_ecx,v_eax,v_imm)
121#CHECK: movl $1, %gs:4
122	movl $1, v_gs:4
123#CHECK: movl $1, %gs:4
124	movl $1, v_gs:4()
125#CHECK: movl $1, %gs:4
126	movl $1, v_gs:4(,)
127#CHECK: movl $1, %gs:4(,%eax)
128	movl $1, v_gs:4(,%eax)
129#CHECK: movl $1, %gs:4(,%eax,2)
130	movl $1, v_gs:4(,%eax,2)
131#CHECK: movl $1, %gs:4(,%eax,4)
132	movl $1, v_gs:4(,%eax,v_imm)
133#CHECK: movl $1, %gs:4(,%eax)
134	movl $1, v_gs:4(,v_eax)
135#CHECK: movl $1, %gs:4(,%eax,2)
136	movl $1, v_gs:4(,v_eax,2)
137#CHECK: movl $1, %gs:4(,%eax,4)
138	movl $1, v_gs:4(,v_eax,v_imm)
139#CHECK: movl $1, %gs:4(%ecx)
140	movl $1, v_gs:4(%ecx)
141#CHECK: movl $1, %gs:4(%ecx)
142	movl $1, v_gs:4(%ecx,)
143#CHECK: movl $1, %gs:4(%ecx,%eax)
144	movl $1, v_gs:4(%ecx,%eax)
145#CHECK: movl $1, %gs:4(%ecx,%eax,2)
146	movl $1, v_gs:4(%ecx,%eax,2)
147#CHECK: movl $1, %gs:4(%ecx,%eax,4)
148	movl $1, v_gs:4(%ecx,%eax,v_imm)
149#CHECK: movl $1, %gs:4(%ecx,%eax)
150	movl $1, v_gs:4(%ecx,v_eax)
151#CHECK: movl $1, %gs:4(%ecx,%eax,2)
152	movl $1, v_gs:4(%ecx,v_eax,2)
153#CHECK: movl $1, %gs:4(%ecx,%eax,4)
154	movl $1, v_gs:4(%ecx,v_eax,v_imm)
155#CHECK: movl $1, %gs:4(%ecx)
156	movl $1, v_gs:4(v_ecx)
157#CHECK: movl $1, %gs:4(%ecx)
158	movl $1, v_gs:4(v_ecx,)
159#CHECK: movl $1, %gs:4(%ecx,%eax)
160	movl $1, v_gs:4(v_ecx,%eax)
161#CHECK: movl $1, %gs:4(%ecx,%eax,2)
162	movl $1, v_gs:4(v_ecx,%eax,2)
163#CHECK: movl $1, %gs:4(%ecx,%eax,4)
164	movl $1, v_gs:4(v_ecx,%eax,v_imm)
165#CHECK: movl $1, %gs:4(%ecx,%eax)
166	movl $1, v_gs:4(v_ecx,v_eax)
167#CHECK: movl $1, %gs:4(%ecx,%eax,2)
168	movl $1, v_gs:4(v_ecx,v_eax,2)
169#CHECK: movl $1, %gs:4(%ecx,%eax,4)
170	movl $1, v_gs:4(v_ecx,v_eax,v_imm)
171#CHECK: movl $1, %gs:4
172	movl $1, v_gs:v_imm
173#CHECK: movl $1, %gs:4
174	movl $1, v_gs:v_imm()
175#CHECK: movl $1, %gs:4
176	movl $1, v_gs:v_imm(,)
177#CHECK: movl $1, %gs:4(,%eax)
178	movl $1, v_gs:v_imm(,%eax)
179#CHECK: movl $1, %gs:4(,%eax,2)
180	movl $1, v_gs:v_imm(,%eax,2)
181#CHECK: movl $1, %gs:4(,%eax,4)
182	movl $1, v_gs:v_imm(,%eax,v_imm)
183#CHECK: movl $1, %gs:4(,%eax)
184	movl $1, v_gs:v_imm(,v_eax)
185#CHECK: movl $1, %gs:4(,%eax,2)
186	movl $1, v_gs:v_imm(,v_eax,2)
187#CHECK: movl $1, %gs:4(,%eax,4)
188	movl $1, v_gs:v_imm(,v_eax,v_imm)
189#CHECK: movl $1, %gs:4(%ecx)
190	movl $1, v_gs:v_imm(%ecx)
191#CHECK: movl $1, %gs:4(%ecx)
192	movl $1, v_gs:v_imm(%ecx,)
193#CHECK: movl $1, %gs:4(%ecx,%eax)
194	movl $1, v_gs:v_imm(%ecx,%eax)
195#CHECK: movl $1, %gs:4(%ecx,%eax,2)
196	movl $1, v_gs:v_imm(%ecx,%eax,2)
197#CHECK: movl $1, %gs:4(%ecx,%eax,4)
198	movl $1, v_gs:v_imm(%ecx,%eax,v_imm)
199#CHECK: movl $1, %gs:4(%ecx,%eax)
200	movl $1, v_gs:v_imm(%ecx,v_eax)
201#CHECK: movl $1, %gs:4(%ecx,%eax,2)
202	movl $1, v_gs:v_imm(%ecx,v_eax,2)
203#CHECK: movl $1, %gs:4(%ecx,%eax,4)
204	movl $1, v_gs:v_imm(%ecx,v_eax,v_imm)
205#CHECK: movl $1, %gs:4(%ecx)
206	movl $1, v_gs:v_imm(v_ecx)
207#CHECK: movl $1, %gs:4(%ecx)
208	movl $1, v_gs:v_imm(v_ecx,)
209#CHECK: movl $1, %gs:4(%ecx,%eax)
210	movl $1, v_gs:v_imm(v_ecx,%eax)
211#CHECK: movl $1, %gs:4(%ecx,%eax,2)
212	movl $1, v_gs:v_imm(v_ecx,%eax,2)
213#CHECK: movl $1, %gs:4(%ecx,%eax,4)
214	movl $1, v_gs:v_imm(v_ecx,%eax,v_imm)
215#CHECK: movl $1, %gs:4(%ecx,%eax)
216	movl $1, v_gs:v_imm(v_ecx,v_eax)
217#CHECK: movl $1, %gs:4(%ecx,%eax,2)
218	movl $1, v_gs:v_imm(v_ecx,v_eax,2)
219#CHECK: movl $1, %gs:4(%ecx,%eax,4)
220	movl $1, v_gs:v_imm(v_ecx,v_eax,v_imm)
221#CHECK: movl $1, %gs:8
222	movl $1, v_gs:(v_imm+4)
223#CHECK: movl $1, %gs:8
224	movl $1, v_gs:(v_imm+4)()
225#CHECK: movl $1, %gs:8
226	movl $1, v_gs:(v_imm+4)(,)
227#CHECK: movl $1, %gs:8(,%eax)
228	movl $1, v_gs:(v_imm+4)(,%eax)
229#CHECK: movl $1, %gs:8(,%eax,2)
230	movl $1, v_gs:(v_imm+4)(,%eax,2)
231#CHECK: movl $1, %gs:8(,%eax,4)
232	movl $1, v_gs:(v_imm+4)(,%eax,v_imm)
233#CHECK: movl $1, %gs:8(,%eax)
234	movl $1, v_gs:(v_imm+4)(,v_eax)
235#CHECK: movl $1, %gs:8(,%eax,2)
236	movl $1, v_gs:(v_imm+4)(,v_eax,2)
237#CHECK: movl $1, %gs:8(,%eax,4)
238	movl $1, v_gs:(v_imm+4)(,v_eax,v_imm)
239#CHECK: movl $1, %gs:8(%ecx)
240	movl $1, v_gs:(v_imm+4)(%ecx)
241#CHECK: movl $1, %gs:8(%ecx)
242	movl $1, v_gs:(v_imm+4)(%ecx,)
243#CHECK: movl $1, %gs:8(%ecx,%eax)
244	movl $1, v_gs:(v_imm+4)(%ecx,%eax)
245#CHECK: movl $1, %gs:8(%ecx,%eax,2)
246	movl $1, v_gs:(v_imm+4)(%ecx,%eax,2)
247#CHECK: movl $1, %gs:8(%ecx,%eax,4)
248	movl $1, v_gs:(v_imm+4)(%ecx,%eax,v_imm)
249#CHECK: movl $1, %gs:8(%ecx,%eax)
250	movl $1, v_gs:(v_imm+4)(%ecx,v_eax)
251#CHECK: movl $1, %gs:8(%ecx,%eax,2)
252	movl $1, v_gs:(v_imm+4)(%ecx,v_eax,2)
253#CHECK: movl $1, %gs:8(%ecx,%eax,4)
254	movl $1, v_gs:(v_imm+4)(%ecx,v_eax,v_imm)
255#CHECK: movl $1, %gs:8(%ecx)
256	movl $1, v_gs:(v_imm+4)(v_ecx)
257#CHECK: movl $1, %gs:8(%ecx)
258	movl $1, v_gs:(v_imm+4)(v_ecx,)
259#CHECK: movl $1, %gs:8(%ecx,%eax)
260	movl $1, v_gs:(v_imm+4)(v_ecx,%eax)
261#CHECK: movl $1, %gs:8(%ecx,%eax,2)
262	movl $1, v_gs:(v_imm+4)(v_ecx,%eax,2)
263#CHECK: movl $1, %gs:8(%ecx,%eax,4)
264	movl $1, v_gs:(v_imm+4)(v_ecx,%eax,v_imm)
265#CHECK: movl $1, %gs:8(%ecx,%eax)
266	movl $1, v_gs:(v_imm+4)(v_ecx,v_eax)
267#CHECK: movl $1, %gs:8(%ecx,%eax,2)
268	movl $1, v_gs:(v_imm+4)(v_ecx,v_eax,2)
269#CHECK: movl $1, %gs:8(%ecx,%eax,4)
270	movl $1, v_gs:(v_imm+4)(v_ecx,v_eax,v_imm)
271#CHECK: movl $1, %fs:0
272	movl $1, %fs:(,)
273#CHECK: movl $1, %fs:(,%eax)
274	movl $1, %fs:(,%eax)
275#CHECK: movl $1, %fs:(,%eax,2)
276	movl $1, %fs:(,%eax,2)
277#CHECK: movl $1, %fs:(,%eax,4)
278	movl $1, %fs:(,%eax,v_imm)
279#CHECK: movl $1, %fs:(,%eax)
280	movl $1, %fs:(,v_eax)
281#CHECK: movl $1, %fs:(,%eax,2)
282	movl $1, %fs:(,v_eax,2)
283#CHECK: movl $1, %fs:(,%eax,4)
284	movl $1, %fs:(,v_eax,v_imm)
285#CHECK: movl $1, %fs:(%ecx)
286	movl $1, %fs:(%ecx)
287#CHECK: movl $1, %fs:(%ecx)
288	movl $1, %fs:(%ecx,)
289#CHECK: movl $1, %fs:(%ecx,%eax)
290	movl $1, %fs:(%ecx,%eax)
291#CHECK: movl $1, %fs:(%ecx,%eax,2)
292	movl $1, %fs:(%ecx,%eax,2)
293#CHECK: movl $1, %fs:(%ecx,%eax,4)
294	movl $1, %fs:(%ecx,%eax,v_imm)
295#CHECK: movl $1, %fs:(%ecx,%eax)
296	movl $1, %fs:(%ecx,v_eax)
297#CHECK: movl $1, %fs:(%ecx,%eax,2)
298	movl $1, %fs:(%ecx,v_eax,2)
299#CHECK: movl $1, %fs:(%ecx,%eax,4)
300	movl $1, %fs:(%ecx,v_eax,v_imm)
301#CHECK: movl $1, %fs:(%ecx)
302	movl $1, %fs:(v_ecx)
303#CHECK: movl $1, %fs:(%ecx)
304	movl $1, %fs:(v_ecx,)
305#CHECK: movl $1, %fs:(%ecx,%eax)
306	movl $1, %fs:(v_ecx,%eax)
307#CHECK: movl $1, %fs:(%ecx,%eax,2)
308	movl $1, %fs:(v_ecx,%eax,2)
309#CHECK: movl $1, %fs:(%ecx,%eax,4)
310	movl $1, %fs:(v_ecx,%eax,v_imm)
311#CHECK: movl $1, %fs:(%ecx,%eax)
312	movl $1, %fs:(v_ecx,v_eax)
313#CHECK: movl $1, %fs:(%ecx,%eax,2)
314	movl $1, %fs:(v_ecx,v_eax,2)
315#CHECK: movl $1, %fs:(%ecx,%eax,4)
316	movl $1, %fs:(v_ecx,v_eax,v_imm)
317#CHECK: movl $1, %fs:4
318	movl $1, %fs:4
319#CHECK: movl $1, %fs:4
320	movl $1, %fs:4()
321#CHECK: movl $1, %fs:4
322	movl $1, %fs:4(,)
323#CHECK: movl $1, %fs:4(,%eax)
324	movl $1, %fs:4(,%eax)
325#CHECK: movl $1, %fs:4(,%eax,2)
326	movl $1, %fs:4(,%eax,2)
327#CHECK: movl $1, %fs:4(,%eax,4)
328	movl $1, %fs:4(,%eax,v_imm)
329#CHECK: movl $1, %fs:4(,%eax)
330	movl $1, %fs:4(,v_eax)
331#CHECK: movl $1, %fs:4(,%eax,2)
332	movl $1, %fs:4(,v_eax,2)
333#CHECK: movl $1, %fs:4(,%eax,4)
334	movl $1, %fs:4(,v_eax,v_imm)
335#CHECK: movl $1, %fs:4(%ecx)
336	movl $1, %fs:4(%ecx)
337#CHECK: movl $1, %fs:4(%ecx)
338	movl $1, %fs:4(%ecx,)
339#CHECK: movl $1, %fs:4(%ecx,%eax)
340	movl $1, %fs:4(%ecx,%eax)
341#CHECK: movl $1, %fs:4(%ecx,%eax,2)
342	movl $1, %fs:4(%ecx,%eax,2)
343#CHECK: movl $1, %fs:4(%ecx,%eax,4)
344	movl $1, %fs:4(%ecx,%eax,v_imm)
345#CHECK: movl $1, %fs:4(%ecx,%eax)
346	movl $1, %fs:4(%ecx,v_eax)
347#CHECK: movl $1, %fs:4(%ecx,%eax,2)
348	movl $1, %fs:4(%ecx,v_eax,2)
349#CHECK: movl $1, %fs:4(%ecx,%eax,4)
350	movl $1, %fs:4(%ecx,v_eax,v_imm)
351#CHECK: movl $1, %fs:4(%ecx)
352	movl $1, %fs:4(v_ecx)
353#CHECK: movl $1, %fs:4(%ecx)
354	movl $1, %fs:4(v_ecx,)
355#CHECK: movl $1, %fs:4(%ecx,%eax)
356	movl $1, %fs:4(v_ecx,%eax)
357#CHECK: movl $1, %fs:4(%ecx,%eax,2)
358	movl $1, %fs:4(v_ecx,%eax,2)
359#CHECK: movl $1, %fs:4(%ecx,%eax,4)
360	movl $1, %fs:4(v_ecx,%eax,v_imm)
361#CHECK: movl $1, %fs:4(%ecx,%eax)
362	movl $1, %fs:4(v_ecx,v_eax)
363#CHECK: movl $1, %fs:4(%ecx,%eax,2)
364	movl $1, %fs:4(v_ecx,v_eax,2)
365#CHECK: movl $1, %fs:4(%ecx,%eax,4)
366	movl $1, %fs:4(v_ecx,v_eax,v_imm)
367#CHECK: movl $1, %fs:4
368	movl $1, %fs:v_imm
369#CHECK: movl $1, %fs:4
370	movl $1, %fs:v_imm()
371#CHECK: movl $1, %fs:4
372	movl $1, %fs:v_imm(,)
373#CHECK: movl $1, %fs:4(,%eax)
374	movl $1, %fs:v_imm(,%eax)
375#CHECK: movl $1, %fs:4(,%eax,2)
376	movl $1, %fs:v_imm(,%eax,2)
377#CHECK: movl $1, %fs:4(,%eax,4)
378	movl $1, %fs:v_imm(,%eax,v_imm)
379#CHECK: movl $1, %fs:4(,%eax)
380	movl $1, %fs:v_imm(,v_eax)
381#CHECK: movl $1, %fs:4(,%eax,2)
382	movl $1, %fs:v_imm(,v_eax,2)
383#CHECK: movl $1, %fs:4(,%eax,4)
384	movl $1, %fs:v_imm(,v_eax,v_imm)
385#CHECK: movl $1, %fs:4(%ecx)
386	movl $1, %fs:v_imm(%ecx)
387#CHECK: movl $1, %fs:4(%ecx)
388	movl $1, %fs:v_imm(%ecx,)
389#CHECK: movl $1, %fs:4(%ecx,%eax)
390	movl $1, %fs:v_imm(%ecx,%eax)
391#CHECK: movl $1, %fs:4(%ecx,%eax,2)
392	movl $1, %fs:v_imm(%ecx,%eax,2)
393#CHECK: movl $1, %fs:4(%ecx,%eax,4)
394	movl $1, %fs:v_imm(%ecx,%eax,v_imm)
395#CHECK: movl $1, %fs:4(%ecx,%eax)
396	movl $1, %fs:v_imm(%ecx,v_eax)
397#CHECK: movl $1, %fs:4(%ecx,%eax,2)
398	movl $1, %fs:v_imm(%ecx,v_eax,2)
399#CHECK: movl $1, %fs:4(%ecx,%eax,4)
400	movl $1, %fs:v_imm(%ecx,v_eax,v_imm)
401#CHECK: movl $1, %fs:4(%ecx)
402	movl $1, %fs:v_imm(v_ecx)
403#CHECK: movl $1, %fs:4(%ecx)
404	movl $1, %fs:v_imm(v_ecx,)
405#CHECK: movl $1, %fs:4(%ecx,%eax)
406	movl $1, %fs:v_imm(v_ecx,%eax)
407#CHECK: movl $1, %fs:4(%ecx,%eax,2)
408	movl $1, %fs:v_imm(v_ecx,%eax,2)
409#CHECK: movl $1, %fs:4(%ecx,%eax,4)
410	movl $1, %fs:v_imm(v_ecx,%eax,v_imm)
411#CHECK: movl $1, %fs:4(%ecx,%eax)
412	movl $1, %fs:v_imm(v_ecx,v_eax)
413#CHECK: movl $1, %fs:4(%ecx,%eax,2)
414	movl $1, %fs:v_imm(v_ecx,v_eax,2)
415#CHECK: movl $1, %fs:4(%ecx,%eax,4)
416	movl $1, %fs:v_imm(v_ecx,v_eax,v_imm)
417#CHECK: movl $1, %fs:8
418	movl $1, %fs:(v_imm+4)
419#CHECK: movl $1, %fs:8
420	movl $1, %fs:(v_imm+4)()
421#CHECK: movl $1, %fs:8
422	movl $1, %fs:(v_imm+4)(,)
423#CHECK: movl $1, %fs:8(,%eax)
424	movl $1, %fs:(v_imm+4)(,%eax)
425#CHECK: movl $1, %fs:8(,%eax,2)
426	movl $1, %fs:(v_imm+4)(,%eax,2)
427#CHECK: movl $1, %fs:8(,%eax,4)
428	movl $1, %fs:(v_imm+4)(,%eax,v_imm)
429#CHECK: movl $1, %fs:8(,%eax)
430	movl $1, %fs:(v_imm+4)(,v_eax)
431#CHECK: movl $1, %fs:8(,%eax,2)
432	movl $1, %fs:(v_imm+4)(,v_eax,2)
433#CHECK: movl $1, %fs:8(,%eax,4)
434	movl $1, %fs:(v_imm+4)(,v_eax,v_imm)
435#CHECK: movl $1, %fs:8(%ecx)
436	movl $1, %fs:(v_imm+4)(%ecx)
437#CHECK: movl $1, %fs:8(%ecx)
438	movl $1, %fs:(v_imm+4)(%ecx,)
439#CHECK: movl $1, %fs:8(%ecx,%eax)
440	movl $1, %fs:(v_imm+4)(%ecx,%eax)
441#CHECK: movl $1, %fs:8(%ecx,%eax,2)
442	movl $1, %fs:(v_imm+4)(%ecx,%eax,2)
443#CHECK: movl $1, %fs:8(%ecx,%eax,4)
444	movl $1, %fs:(v_imm+4)(%ecx,%eax,v_imm)
445#CHECK: movl $1, %fs:8(%ecx,%eax)
446	movl $1, %fs:(v_imm+4)(%ecx,v_eax)
447#CHECK: movl $1, %fs:8(%ecx,%eax,2)
448	movl $1, %fs:(v_imm+4)(%ecx,v_eax,2)
449#CHECK: movl $1, %fs:8(%ecx,%eax,4)
450	movl $1, %fs:(v_imm+4)(%ecx,v_eax,v_imm)
451#CHECK: movl $1, %fs:8(%ecx)
452	movl $1, %fs:(v_imm+4)(v_ecx)
453#CHECK: movl $1, %fs:8(%ecx)
454	movl $1, %fs:(v_imm+4)(v_ecx,)
455#CHECK: movl $1, %fs:8(%ecx,%eax)
456	movl $1, %fs:(v_imm+4)(v_ecx,%eax)
457#CHECK: movl $1, %fs:8(%ecx,%eax,2)
458	movl $1, %fs:(v_imm+4)(v_ecx,%eax,2)
459#CHECK: movl $1, %fs:8(%ecx,%eax,4)
460	movl $1, %fs:(v_imm+4)(v_ecx,%eax,v_imm)
461#CHECK: movl $1, %fs:8(%ecx,%eax)
462	movl $1, %fs:(v_imm+4)(v_ecx,v_eax)
463#CHECK: movl $1, %fs:8(%ecx,%eax,2)
464	movl $1, %fs:(v_imm+4)(v_ecx,v_eax,2)
465#CHECK: movl $1, %fs:8(%ecx,%eax,4)
466	movl $1, %fs:(v_imm+4)(v_ecx,v_eax,v_imm)
467