~ubuntu-branches/ubuntu/utopic/binutils-arm64-cross/utopic

« back to all changes in this revision

Viewing changes to binutils-2.23.52.20130611/gas/testsuite/gas/i386/hlebad.s

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2013-06-20 17:38:09 UTC
  • Revision ID: package-import@ubuntu.com-20130620173809-app8lzgvymy5fg6c
Tags: 0.7
Build-depend on binutils-source (>= 2.23.52.20130620-1~).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Check 32bit unsupported HLE instructions
 
2
 
 
3
        .allow_index_reg
 
4
        .text
 
5
_start:
 
6
 
 
7
# Tests for op imm8 al
 
8
        xacquire adc $100,%al
 
9
        xacquire lock adc $100,%al
 
10
        lock xacquire adc $100,%al
 
11
        xrelease adc $100,%al
 
12
        xrelease lock adc $100,%al
 
13
        lock xrelease adc $100,%al
 
14
 
 
15
# Tests for op imm16 ax
 
16
        xacquire adc $1000,%ax
 
17
        xacquire lock adc $1000,%ax
 
18
        lock xacquire adc $1000,%ax
 
19
        xrelease adc $1000,%ax
 
20
        xrelease lock adc $1000,%ax
 
21
        lock xrelease adc $1000,%ax
 
22
 
 
23
# Tests for op imm32 eax
 
24
        xacquire adc $10000000,%eax
 
25
        xacquire lock adc $10000000,%eax
 
26
        lock xacquire adc $10000000,%eax
 
27
        xrelease adc $10000000,%eax
 
28
        xrelease lock adc $10000000,%eax
 
29
        lock xrelease adc $10000000,%eax
 
30
 
 
31
# Tests for op imm8 regb/m8
 
32
        xacquire adcb $100,%cl
 
33
        xacquire lock adcb $100,%cl
 
34
        lock xacquire adcb $100,%cl
 
35
        xrelease adcb $100,%cl
 
36
        xrelease lock adcb $100,%cl
 
37
        lock xrelease adcb $100,%cl
 
38
        xacquire adcb $100,(%ecx)
 
39
        xrelease adcb $100,(%ecx)
 
40
 
 
41
# Tests for op imm16 regs/m16
 
42
        xacquire adcw $1000,%cx
 
43
        xacquire lock adcw $1000,%cx
 
44
        lock xacquire adcw $1000,%cx
 
45
        xrelease adcw $1000,%cx
 
46
        xrelease lock adcw $1000,%cx
 
47
        lock xrelease adcw $1000,%cx
 
48
        xacquire adcw $1000,(%ecx)
 
49
        xrelease adcw $1000,(%ecx)
 
50
 
 
51
# Tests for op imm32 regl/m32
 
52
        xacquire adcl $10000000,%ecx
 
53
        xacquire lock adcl $10000000,%ecx
 
54
        lock xacquire adcl $10000000,%ecx
 
55
        xrelease adcl $10000000,%ecx
 
56
        xrelease lock adcl $10000000,%ecx
 
57
        lock xrelease adcl $10000000,%ecx
 
58
        xacquire adcl $10000000,(%ecx)
 
59
        xrelease adcl $10000000,(%ecx)
 
60
 
 
61
# Tests for op imm8 regs/m16
 
62
        xacquire adcw $100,%cx
 
63
        xacquire lock adcw $100,%cx
 
64
        lock xacquire adcw $100,%cx
 
65
        xrelease adcw $100,%cx
 
66
        xrelease lock adcw $100,%cx
 
67
        lock xrelease adcw $100,%cx
 
68
        xacquire adcw $100,(%ecx)
 
69
        xrelease adcw $100,(%ecx)
 
70
 
 
71
# Tests for op imm8 regl/m32
 
72
        xacquire adcl $100,%ecx
 
73
        xacquire lock adcl $100,%ecx
 
74
        lock xacquire adcl $100,%ecx
 
75
        xrelease adcl $100,%ecx
 
76
        xrelease lock adcl $100,%ecx
 
77
        lock xrelease adcl $100,%ecx
 
78
        xacquire adcl $100,(%ecx)
 
79
        xrelease adcl $100,(%ecx)
 
80
 
 
81
# Tests for op imm8 regb/m8
 
82
        xacquire adcb $100,%cl
 
83
        xacquire lock adcb $100,%cl
 
84
        lock xacquire adcb $100,%cl
 
85
        xrelease adcb $100,%cl
 
86
        xrelease lock adcb $100,%cl
 
87
        lock xrelease adcb $100,%cl
 
88
        xacquire adcb $100,(%ecx)
 
89
        xrelease adcb $100,(%ecx)
 
90
 
 
91
# Tests for op regb regb/m8
 
92
# Tests for op regb/m8 regb
 
93
        xacquire adcb %al,%cl
 
94
        xacquire lock adcb %al,%cl
 
95
        lock xacquire adcb %al,%cl
 
96
        xrelease adcb %al,%cl
 
97
        xrelease lock adcb %al,%cl
 
98
        lock xrelease adcb %al,%cl
 
99
        xacquire adcb %al,(%ecx)
 
100
        xrelease adcb %al,(%ecx)
 
101
        xacquire adcb %cl,%al
 
102
        xacquire lock adcb %cl,%al
 
103
        lock xacquire adcb %cl,%al
 
104
        xrelease adcb %cl,%al
 
105
        xrelease lock adcb %cl,%al
 
106
        lock xrelease adcb %cl,%al
 
107
        xacquire adcb (%ecx),%al
 
108
        xacquire lock adcb (%ecx),%al
 
109
        lock xacquire adcb (%ecx),%al
 
110
        xrelease adcb (%ecx),%al
 
111
        xrelease lock adcb (%ecx),%al
 
112
        lock xrelease adcb (%ecx),%al
 
113
 
 
114
# Tests for op regs regs/m16
 
115
# Tests for op regs/m16 regs
 
116
        xacquire adcw %ax,%cx
 
117
        xacquire lock adcw %ax,%cx
 
118
        lock xacquire adcw %ax,%cx
 
119
        xrelease adcw %ax,%cx
 
120
        xrelease lock adcw %ax,%cx
 
121
        lock xrelease adcw %ax,%cx
 
122
        xacquire adcw %ax,(%ecx)
 
123
        xrelease adcw %ax,(%ecx)
 
124
        xacquire adcw %cx,%ax
 
125
        xacquire lock adcw %cx,%ax
 
126
        lock xacquire adcw %cx,%ax
 
127
        xrelease adcw %cx,%ax
 
128
        xrelease lock adcw %cx,%ax
 
129
        lock xrelease adcw %cx,%ax
 
130
        xacquire adcw (%ecx),%ax
 
131
        xacquire lock adcw (%ecx),%ax
 
132
        lock xacquire adcw (%ecx),%ax
 
133
        xrelease adcw (%ecx),%ax
 
134
        xrelease lock adcw (%ecx),%ax
 
135
        lock xrelease adcw (%ecx),%ax
 
136
 
 
137
# Tests for op regl regl/m32
 
138
# Tests for op regl/m32 regl
 
139
        xacquire adcl %eax,%ecx
 
140
        xacquire lock adcl %eax,%ecx
 
141
        lock xacquire adcl %eax,%ecx
 
142
        xrelease adcl %eax,%ecx
 
143
        xrelease lock adcl %eax,%ecx
 
144
        lock xrelease adcl %eax,%ecx
 
145
        xacquire adcl %eax,(%ecx)
 
146
        xrelease adcl %eax,(%ecx)
 
147
        xacquire adcl %ecx,%eax
 
148
        xacquire lock adcl %ecx,%eax
 
149
        lock xacquire adcl %ecx,%eax
 
150
        xrelease adcl %ecx,%eax
 
151
        xrelease lock adcl %ecx,%eax
 
152
        lock xrelease adcl %ecx,%eax
 
153
        xacquire adcl (%ecx),%eax
 
154
        xacquire lock adcl (%ecx),%eax
 
155
        lock xacquire adcl (%ecx),%eax
 
156
        xrelease adcl (%ecx),%eax
 
157
        xrelease lock adcl (%ecx),%eax
 
158
        lock xrelease adcl (%ecx),%eax
 
159
 
 
160
# Tests for op regs, regs/m16
 
161
        xacquire btcw %ax,%cx
 
162
        xacquire lock btcw %ax,%cx
 
163
        lock xacquire btcw %ax,%cx
 
164
        xrelease btcw %ax,%cx
 
165
        xrelease lock btcw %ax,%cx
 
166
        lock xrelease btcw %ax,%cx
 
167
        xacquire btcw %ax,(%ecx)
 
168
        xrelease btcw %ax,(%ecx)
 
169
 
 
170
# Tests for op regl regl/m32
 
171
        xacquire btcl %eax,%ecx
 
172
        xacquire lock btcl %eax,%ecx
 
173
        lock xacquire btcl %eax,%ecx
 
174
        xrelease btcl %eax,%ecx
 
175
        xrelease lock btcl %eax,%ecx
 
176
        lock xrelease btcl %eax,%ecx
 
177
        xacquire btcl %eax,(%ecx)
 
178
        xrelease btcl %eax,(%ecx)
 
179
 
 
180
# Tests for op regb/m8
 
181
        xacquire decb %cl
 
182
        xacquire lock decb %cl
 
183
        lock xacquire decb %cl
 
184
        xrelease decb %cl
 
185
        xrelease lock decb %cl
 
186
        lock xrelease decb %cl
 
187
        xacquire decb (%ecx)
 
188
        xrelease decb (%ecx)
 
189
 
 
190
# Tests for op regs/m16
 
191
        xacquire decw %cx
 
192
        xacquire lock decw %cx
 
193
        lock xacquire decw %cx
 
194
        xrelease decw %cx
 
195
        xrelease lock decw %cx
 
196
        lock xrelease decw %cx
 
197
        xacquire decw (%ecx)
 
198
        xrelease decw (%ecx)
 
199
 
 
200
# Tests for op regl/m32
 
201
        xacquire decl %ecx
 
202
        xacquire lock decl %ecx
 
203
        lock xacquire decl %ecx
 
204
        xrelease decl %ecx
 
205
        xrelease lock decl %ecx
 
206
        lock xrelease decl %ecx
 
207
        xacquire decl (%ecx)
 
208
        xrelease decl (%ecx)
 
209
 
 
210
# Tests for op m64
 
211
        xacquire cmpxchg8bq (%ecx)
 
212
        xrelease cmpxchg8bq (%ecx)
 
213
 
 
214
# Tests for op regb, regb/m8
 
215
        xacquire cmpxchgb %cl,%al
 
216
        xacquire lock cmpxchgb %cl,%al
 
217
        lock xacquire cmpxchgb %cl,%al
 
218
        xrelease cmpxchgb %cl,%al
 
219
        xrelease lock cmpxchgb %cl,%al
 
220
        lock xrelease cmpxchgb %cl,%al
 
221
        xacquire cmpxchgb %cl,(%ecx)
 
222
        xrelease cmpxchgb %cl,(%ecx)
 
223
 
 
224
        .intel_syntax noprefix
 
225
 
 
226
# Tests for op imm8 al
 
227
        xacquire adc al,100
 
228
        xacquire lock adc al,100
 
229
        lock xacquire adc al,100
 
230
        xrelease adc al,100
 
231
        xrelease lock adc al,100
 
232
        lock xrelease adc al,100
 
233
 
 
234
# Tests for op imm16 ax
 
235
        xacquire adc ax,1000
 
236
        xacquire lock adc ax,1000
 
237
        lock xacquire adc ax,1000
 
238
        xrelease adc ax,1000
 
239
        xrelease lock adc ax,1000
 
240
        lock xrelease adc ax,1000
 
241
 
 
242
# Tests for op imm32 eax
 
243
        xacquire adc eax,10000000
 
244
        xacquire lock adc eax,10000000
 
245
        lock xacquire adc eax,10000000
 
246
        xrelease adc eax,10000000
 
247
        xrelease lock adc eax,10000000
 
248
        lock xrelease adc eax,10000000
 
249
 
 
250
# Tests for op imm8 regb/m8
 
251
        xacquire adc cl,100
 
252
        xacquire lock adc cl,100
 
253
        lock xacquire adc cl,100
 
254
        xrelease adc cl,100
 
255
        xrelease lock adc cl,100
 
256
        lock xrelease adc cl,100
 
257
        xacquire adc BYTE PTR [ecx],100
 
258
        xrelease adc BYTE PTR [ecx],100
 
259
 
 
260
# Tests for op imm16 regs/m16
 
261
        xacquire adc cx,1000
 
262
        xacquire lock adc cx,1000
 
263
        lock xacquire adc cx,1000
 
264
        xrelease adc cx,1000
 
265
        xrelease lock adc cx,1000
 
266
        lock xrelease adc cx,1000
 
267
        xacquire adc WORD PTR [ecx],1000
 
268
        xrelease adc WORD PTR [ecx],1000
 
269
 
 
270
# Tests for op imm32 regl/m32
 
271
        xacquire adc ecx,10000000
 
272
        xacquire lock adc ecx,10000000
 
273
        lock xacquire adc ecx,10000000
 
274
        xrelease adc ecx,10000000
 
275
        xrelease lock adc ecx,10000000
 
276
        lock xrelease adc ecx,10000000
 
277
        xacquire adc DWORD PTR [ecx],10000000
 
278
        xrelease adc DWORD PTR [ecx],10000000
 
279
 
 
280
# Tests for op imm8 regs/m16
 
281
        xacquire adc cx,100
 
282
        xacquire lock adc cx,100
 
283
        lock xacquire adc cx,100
 
284
        xrelease adc cx,100
 
285
        xrelease lock adc cx,100
 
286
        lock xrelease adc cx,100
 
287
        xacquire adc WORD PTR [ecx],100
 
288
        xrelease adc WORD PTR [ecx],100
 
289
 
 
290
# Tests for op imm8 regl/m32
 
291
        xacquire adc ecx,100
 
292
        xacquire lock adc ecx,100
 
293
        lock xacquire adc ecx,100
 
294
        xrelease adc ecx,100
 
295
        xrelease lock adc ecx,100
 
296
        lock xrelease adc ecx,100
 
297
        xacquire adc DWORD PTR [ecx],100
 
298
        xrelease adc DWORD PTR [ecx],100
 
299
 
 
300
# Tests for op imm8 regb/m8
 
301
        xacquire adc cl,100
 
302
        xacquire lock adc cl,100
 
303
        lock xacquire adc cl,100
 
304
        xrelease adc cl,100
 
305
        xrelease lock adc cl,100
 
306
        lock xrelease adc cl,100
 
307
        xacquire adc BYTE PTR [ecx],100
 
308
        xrelease adc BYTE PTR [ecx],100
 
309
 
 
310
# Tests for op regb regb/m8
 
311
# Tests for op regb/m8 regb
 
312
        xacquire adc cl,al
 
313
        xacquire lock adc cl,al
 
314
        lock xacquire adc cl,al
 
315
        xrelease adc cl,al
 
316
        xrelease lock adc cl,al
 
317
        lock xrelease adc cl,al
 
318
        xacquire adc BYTE PTR [ecx],al
 
319
        xrelease adc BYTE PTR [ecx],al
 
320
        xacquire adc al,cl
 
321
        xacquire lock adc al,cl
 
322
        lock xacquire adc al,cl
 
323
        xrelease adc al,cl
 
324
        xrelease lock adc al,cl
 
325
        lock xrelease adc al,cl
 
326
        xacquire adc al,BYTE PTR [ecx]
 
327
        xacquire lock adc al,BYTE PTR [ecx]
 
328
        lock xacquire adc al,BYTE PTR [ecx]
 
329
        xrelease adc al,BYTE PTR [ecx]
 
330
        xrelease lock adc al,BYTE PTR [ecx]
 
331
        lock xrelease adc al,BYTE PTR [ecx]
 
332
 
 
333
# Tests for op regs regs/m16
 
334
# Tests for op regs/m16 regs
 
335
        xacquire adc cx,ax
 
336
        xacquire lock adc cx,ax
 
337
        lock xacquire adc cx,ax
 
338
        xrelease adc cx,ax
 
339
        xrelease lock adc cx,ax
 
340
        lock xrelease adc cx,ax
 
341
        xacquire adc WORD PTR [ecx],ax
 
342
        xrelease adc WORD PTR [ecx],ax
 
343
        xacquire adc ax,cx
 
344
        xacquire lock adc ax,cx
 
345
        lock xacquire adc ax,cx
 
346
        xrelease adc ax,cx
 
347
        xrelease lock adc ax,cx
 
348
        lock xrelease adc ax,cx
 
349
        xacquire adc ax,WORD PTR [ecx]
 
350
        xacquire lock adc ax,WORD PTR [ecx]
 
351
        lock xacquire adc ax,WORD PTR [ecx]
 
352
        xrelease adc ax,WORD PTR [ecx]
 
353
        xrelease lock adc ax,WORD PTR [ecx]
 
354
        lock xrelease adc ax,WORD PTR [ecx]
 
355
 
 
356
# Tests for op regl regl/m32
 
357
# Tests for op regl/m32 regl
 
358
        xacquire adc ecx,eax
 
359
        xacquire lock adc ecx,eax
 
360
        lock xacquire adc ecx,eax
 
361
        xrelease adc ecx,eax
 
362
        xrelease lock adc ecx,eax
 
363
        lock xrelease adc ecx,eax
 
364
        xacquire adc DWORD PTR [ecx],eax
 
365
        xrelease adc DWORD PTR [ecx],eax
 
366
        xacquire adc eax,ecx
 
367
        xacquire lock adc eax,ecx
 
368
        lock xacquire adc eax,ecx
 
369
        xrelease adc eax,ecx
 
370
        xrelease lock adc eax,ecx
 
371
        lock xrelease adc eax,ecx
 
372
        xacquire adc eax,DWORD PTR [ecx]
 
373
        xacquire lock adc eax,DWORD PTR [ecx]
 
374
        lock xacquire adc eax,DWORD PTR [ecx]
 
375
        xrelease adc eax,DWORD PTR [ecx]
 
376
        xrelease lock adc eax,DWORD PTR [ecx]
 
377
        lock xrelease adc eax,DWORD PTR [ecx]
 
378
 
 
379
# Tests for op regs, regs/m16
 
380
        xacquire btc cx,ax
 
381
        xacquire lock btc cx,ax
 
382
        lock xacquire btc cx,ax
 
383
        xrelease btc cx,ax
 
384
        xrelease lock btc cx,ax
 
385
        lock xrelease btc cx,ax
 
386
        xacquire btc WORD PTR [ecx],ax
 
387
        xrelease btc WORD PTR [ecx],ax
 
388
 
 
389
# Tests for op regl regl/m32
 
390
        xacquire btc ecx,eax
 
391
        xacquire lock btc ecx,eax
 
392
        lock xacquire btc ecx,eax
 
393
        xrelease btc ecx,eax
 
394
        xrelease lock btc ecx,eax
 
395
        lock xrelease btc ecx,eax
 
396
        xacquire btc DWORD PTR [ecx],eax
 
397
        xrelease btc DWORD PTR [ecx],eax
 
398
 
 
399
# Tests for op regb/m8
 
400
        xacquire dec cl
 
401
        xacquire lock dec cl
 
402
        lock xacquire dec cl
 
403
        xrelease dec cl
 
404
        xrelease lock dec cl
 
405
        lock xrelease dec cl
 
406
        xacquire dec BYTE PTR [ecx]
 
407
        xrelease dec BYTE PTR [ecx]
 
408
 
 
409
# Tests for op regs/m16
 
410
        xacquire dec cx
 
411
        xacquire lock dec cx
 
412
        lock xacquire dec cx
 
413
        xrelease dec cx
 
414
        xrelease lock dec cx
 
415
        lock xrelease dec cx
 
416
        xacquire dec WORD PTR [ecx]
 
417
        xrelease dec WORD PTR [ecx]
 
418
 
 
419
# Tests for op regl/m32
 
420
        xacquire dec ecx
 
421
        xacquire lock dec ecx
 
422
        lock xacquire dec ecx
 
423
        xrelease dec ecx
 
424
        xrelease lock dec ecx
 
425
        lock xrelease dec ecx
 
426
        xacquire dec DWORD PTR [ecx]
 
427
        xrelease dec DWORD PTR [ecx]
 
428
 
 
429
# Tests for op m64
 
430
        xacquire cmpxchg8b QWORD PTR [ecx]
 
431
        xrelease cmpxchg8b QWORD PTR [ecx]
 
432
 
 
433
# Tests for op regb, regb/m8
 
434
        xacquire cmpxchg al,cl
 
435
        xacquire lock cmpxchg al,cl
 
436
        lock xacquire cmpxchg al,cl
 
437
        xrelease cmpxchg al,cl
 
438
        xrelease lock cmpxchg al,cl
 
439
        lock xrelease cmpxchg al,cl
 
440
        xacquire cmpxchg BYTE PTR [ecx],cl
 
441
        xrelease cmpxchg BYTE PTR [ecx],cl