1
# Check 32bit unsupported HLE instructions
9
xacquire lock adc $100,%al
10
lock xacquire adc $100,%al
12
xrelease lock adc $100,%al
13
lock xrelease adc $100,%al
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
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
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)
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)
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)
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)
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)
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)
91
# Tests for op regb regb/m8
92
# Tests for op regb/m8 regb
94
xacquire lock adcb %al,%cl
95
lock xacquire 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
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
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
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)
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)
180
# Tests for op regb/m8
182
xacquire lock decb %cl
183
lock xacquire decb %cl
185
xrelease lock decb %cl
186
lock xrelease decb %cl
190
# Tests for op regs/m16
192
xacquire lock decw %cx
193
lock xacquire decw %cx
195
xrelease lock decw %cx
196
lock xrelease decw %cx
200
# Tests for op regl/m32
202
xacquire lock decl %ecx
203
lock xacquire decl %ecx
205
xrelease lock decl %ecx
206
lock xrelease decl %ecx
211
xacquire cmpxchg8bq (%ecx)
212
xrelease cmpxchg8bq (%ecx)
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)
224
.intel_syntax noprefix
226
# Tests for op imm8 al
228
xacquire lock adc al,100
229
lock xacquire adc al,100
231
xrelease lock adc al,100
232
lock xrelease adc al,100
234
# Tests for op imm16 ax
236
xacquire lock adc ax,1000
237
lock xacquire adc ax,1000
239
xrelease lock adc ax,1000
240
lock xrelease adc ax,1000
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
250
# Tests for op imm8 regb/m8
252
xacquire lock adc cl,100
253
lock xacquire 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
260
# Tests for op imm16 regs/m16
262
xacquire lock adc cx,1000
263
lock xacquire 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
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
280
# Tests for op imm8 regs/m16
282
xacquire lock adc cx,100
283
lock xacquire 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
290
# Tests for op imm8 regl/m32
292
xacquire lock adc ecx,100
293
lock xacquire 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
300
# Tests for op imm8 regb/m8
302
xacquire lock adc cl,100
303
lock xacquire 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
310
# Tests for op regb regb/m8
311
# Tests for op regb/m8 regb
313
xacquire lock adc cl,al
314
lock xacquire 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
321
xacquire lock adc al,cl
322
lock xacquire 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]
333
# Tests for op regs regs/m16
334
# Tests for op regs/m16 regs
336
xacquire lock adc cx,ax
337
lock xacquire 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
344
xacquire lock adc ax,cx
345
lock xacquire 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]
356
# Tests for op regl regl/m32
357
# Tests for op regl/m32 regl
359
xacquire lock adc ecx,eax
360
lock xacquire 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
367
xacquire lock adc eax,ecx
368
lock xacquire 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]
379
# Tests for op regs, regs/m16
381
xacquire lock btc cx,ax
382
lock xacquire 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
389
# Tests for op regl regl/m32
391
xacquire lock btc ecx,eax
392
lock xacquire 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
399
# Tests for op regb/m8
406
xacquire dec BYTE PTR [ecx]
407
xrelease dec BYTE PTR [ecx]
409
# Tests for op regs/m16
416
xacquire dec WORD PTR [ecx]
417
xrelease dec WORD PTR [ecx]
419
# Tests for op regl/m32
421
xacquire lock dec ecx
422
lock xacquire dec ecx
424
xrelease lock dec ecx
425
lock xrelease dec ecx
426
xacquire dec DWORD PTR [ecx]
427
xrelease dec DWORD PTR [ecx]
430
xacquire cmpxchg8b QWORD PTR [ecx]
431
xrelease cmpxchg8b QWORD PTR [ecx]
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