Lines Matching refs:CHECK32

3 …%s -mtriple=i386-linux-gnu -verify-machineinstrs -mattr=cx16 | FileCheck %s -check-prefixes=CHECK32
4 …s -mtriple=i386-linux-gnu -verify-machineinstrs -mattr=-cx16 | FileCheck %s -check-prefixes=CHECK32
24 ; CHECK32-LABEL: val_compare_and_swap:
25 ; CHECK32: # %bb.0:
26 ; CHECK32-NEXT: pushl %edi
27 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
28 ; CHECK32-NEXT: pushl %esi
29 ; CHECK32-NEXT: .cfi_def_cfa_offset 12
30 ; CHECK32-NEXT: subl $20, %esp
31 ; CHECK32-NEXT: .cfi_def_cfa_offset 32
32 ; CHECK32-NEXT: .cfi_offset %esi, -12
33 ; CHECK32-NEXT: .cfi_offset %edi, -8
34 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %esi
35 ; CHECK32-NEXT: subl $8, %esp
36 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 8
37 ; CHECK32-NEXT: leal {{[0-9]+}}(%esp), %eax
38 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
39 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
40 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
41 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
42 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
43 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
44 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
45 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
46 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
47 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
48 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
49 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
50 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
51 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
52 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
53 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
54 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
55 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
56 ; CHECK32-NEXT: pushl %eax
57 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
58 ; CHECK32-NEXT: calll __sync_val_compare_and_swap_16
59 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -4
60 ; CHECK32-NEXT: addl $44, %esp
61 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -44
62 ; CHECK32-NEXT: movl (%esp), %eax
63 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %ecx
64 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %edx
65 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %edi
66 ; CHECK32-NEXT: movl %edi, 8(%esi)
67 ; CHECK32-NEXT: movl %edx, 12(%esi)
68 ; CHECK32-NEXT: movl %eax, (%esi)
69 ; CHECK32-NEXT: movl %ecx, 4(%esi)
70 ; CHECK32-NEXT: movl %esi, %eax
71 ; CHECK32-NEXT: addl $20, %esp
72 ; CHECK32-NEXT: .cfi_def_cfa_offset 12
73 ; CHECK32-NEXT: popl %esi
74 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
75 ; CHECK32-NEXT: popl %edi
76 ; CHECK32-NEXT: .cfi_def_cfa_offset 4
77 ; CHECK32-NEXT: retl $4
98 ; CHECK32-LABEL: cmpxchg16b_global_with_offset:
99 ; CHECK32: # %bb.0: # %entry
100 ; CHECK32-NEXT: subl $36, %esp
101 ; CHECK32-NEXT: leal {{[0-9]+}}(%esp), %eax
102 ; CHECK32-NEXT: pushl $0
103 ; CHECK32-NEXT: pushl $0
104 ; CHECK32-NEXT: pushl $0
105 ; CHECK32-NEXT: pushl $0
106 ; CHECK32-NEXT: pushl $0
107 ; CHECK32-NEXT: pushl $0
108 ; CHECK32-NEXT: pushl $0
109 ; CHECK32-NEXT: pushl $0
110 ; CHECK32-NEXT: pushl $cmpxchg16b_global+16
111 ; CHECK32-NEXT: pushl %eax
112 ; CHECK32-NEXT: calll __sync_val_compare_and_swap_16
113 ; CHECK32-NEXT: addl $72, %esp
114 ; CHECK32-NEXT: retl
146 ; CHECK32-LABEL: fetch_and_nand:
147 ; CHECK32: # %bb.0:
148 ; CHECK32-NEXT: pushl %esi
149 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
150 ; CHECK32-NEXT: subl $24, %esp
151 ; CHECK32-NEXT: .cfi_def_cfa_offset 32
152 ; CHECK32-NEXT: .cfi_offset %esi, -8
153 ; CHECK32-NEXT: subl $8, %esp
154 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 8
155 ; CHECK32-NEXT: leal {{[0-9]+}}(%esp), %eax
156 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
157 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
158 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
159 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
160 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
161 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
162 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
163 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
164 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
165 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
166 ; CHECK32-NEXT: pushl %eax
167 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
168 ; CHECK32-NEXT: calll __sync_fetch_and_nand_16
169 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -4
170 ; CHECK32-NEXT: addl $28, %esp
171 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -28
172 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %eax
173 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %ecx
174 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %edx
175 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %esi
176 ; CHECK32-NEXT: movl %esi, var+8
177 ; CHECK32-NEXT: movl %edx, var+12
178 ; CHECK32-NEXT: movl %eax, var
179 ; CHECK32-NEXT: movl %ecx, var+4
180 ; CHECK32-NEXT: addl $24, %esp
181 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
182 ; CHECK32-NEXT: popl %esi
183 ; CHECK32-NEXT: .cfi_def_cfa_offset 4
184 ; CHECK32-NEXT: retl
214 ; CHECK32-LABEL: fetch_and_or:
215 ; CHECK32: # %bb.0:
216 ; CHECK32-NEXT: pushl %esi
217 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
218 ; CHECK32-NEXT: subl $24, %esp
219 ; CHECK32-NEXT: .cfi_def_cfa_offset 32
220 ; CHECK32-NEXT: .cfi_offset %esi, -8
221 ; CHECK32-NEXT: subl $8, %esp
222 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 8
223 ; CHECK32-NEXT: leal {{[0-9]+}}(%esp), %eax
224 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
225 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
226 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
227 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
228 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
229 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
230 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
231 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
232 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
233 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
234 ; CHECK32-NEXT: pushl %eax
235 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
236 ; CHECK32-NEXT: calll __sync_fetch_and_or_16
237 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -4
238 ; CHECK32-NEXT: addl $28, %esp
239 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -28
240 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %eax
241 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %ecx
242 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %edx
243 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %esi
244 ; CHECK32-NEXT: movl %esi, var+8
245 ; CHECK32-NEXT: movl %edx, var+12
246 ; CHECK32-NEXT: movl %eax, var
247 ; CHECK32-NEXT: movl %ecx, var+4
248 ; CHECK32-NEXT: addl $24, %esp
249 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
250 ; CHECK32-NEXT: popl %esi
251 ; CHECK32-NEXT: .cfi_def_cfa_offset 4
252 ; CHECK32-NEXT: retl
282 ; CHECK32-LABEL: fetch_and_add:
283 ; CHECK32: # %bb.0:
284 ; CHECK32-NEXT: pushl %esi
285 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
286 ; CHECK32-NEXT: subl $24, %esp
287 ; CHECK32-NEXT: .cfi_def_cfa_offset 32
288 ; CHECK32-NEXT: .cfi_offset %esi, -8
289 ; CHECK32-NEXT: subl $8, %esp
290 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 8
291 ; CHECK32-NEXT: leal {{[0-9]+}}(%esp), %eax
292 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
293 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
294 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
295 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
296 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
297 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
298 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
299 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
300 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
301 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
302 ; CHECK32-NEXT: pushl %eax
303 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
304 ; CHECK32-NEXT: calll __sync_fetch_and_add_16
305 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -4
306 ; CHECK32-NEXT: addl $28, %esp
307 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -28
308 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %eax
309 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %ecx
310 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %edx
311 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %esi
312 ; CHECK32-NEXT: movl %esi, var+8
313 ; CHECK32-NEXT: movl %edx, var+12
314 ; CHECK32-NEXT: movl %eax, var
315 ; CHECK32-NEXT: movl %ecx, var+4
316 ; CHECK32-NEXT: addl $24, %esp
317 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
318 ; CHECK32-NEXT: popl %esi
319 ; CHECK32-NEXT: .cfi_def_cfa_offset 4
320 ; CHECK32-NEXT: retl
350 ; CHECK32-LABEL: fetch_and_sub:
351 ; CHECK32: # %bb.0:
352 ; CHECK32-NEXT: pushl %esi
353 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
354 ; CHECK32-NEXT: subl $24, %esp
355 ; CHECK32-NEXT: .cfi_def_cfa_offset 32
356 ; CHECK32-NEXT: .cfi_offset %esi, -8
357 ; CHECK32-NEXT: subl $8, %esp
358 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 8
359 ; CHECK32-NEXT: leal {{[0-9]+}}(%esp), %eax
360 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
361 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
362 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
363 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
364 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
365 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
366 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
367 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
368 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
369 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
370 ; CHECK32-NEXT: pushl %eax
371 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
372 ; CHECK32-NEXT: calll __sync_fetch_and_sub_16
373 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -4
374 ; CHECK32-NEXT: addl $28, %esp
375 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -28
376 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %eax
377 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %ecx
378 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %edx
379 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %esi
380 ; CHECK32-NEXT: movl %esi, var+8
381 ; CHECK32-NEXT: movl %edx, var+12
382 ; CHECK32-NEXT: movl %eax, var
383 ; CHECK32-NEXT: movl %ecx, var+4
384 ; CHECK32-NEXT: addl $24, %esp
385 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
386 ; CHECK32-NEXT: popl %esi
387 ; CHECK32-NEXT: .cfi_def_cfa_offset 4
388 ; CHECK32-NEXT: retl
421 ; CHECK32-LABEL: fetch_and_min:
422 ; CHECK32: # %bb.0:
423 ; CHECK32-NEXT: pushl %esi
424 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
425 ; CHECK32-NEXT: subl $24, %esp
426 ; CHECK32-NEXT: .cfi_def_cfa_offset 32
427 ; CHECK32-NEXT: .cfi_offset %esi, -8
428 ; CHECK32-NEXT: subl $8, %esp
429 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 8
430 ; CHECK32-NEXT: leal {{[0-9]+}}(%esp), %eax
431 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
432 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
433 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
434 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
435 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
436 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
437 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
438 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
439 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
440 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
441 ; CHECK32-NEXT: pushl %eax
442 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
443 ; CHECK32-NEXT: calll __sync_fetch_and_min_16
444 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -4
445 ; CHECK32-NEXT: addl $28, %esp
446 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -28
447 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %eax
448 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %ecx
449 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %edx
450 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %esi
451 ; CHECK32-NEXT: movl %esi, var+8
452 ; CHECK32-NEXT: movl %edx, var+12
453 ; CHECK32-NEXT: movl %eax, var
454 ; CHECK32-NEXT: movl %ecx, var+4
455 ; CHECK32-NEXT: addl $24, %esp
456 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
457 ; CHECK32-NEXT: popl %esi
458 ; CHECK32-NEXT: .cfi_def_cfa_offset 4
459 ; CHECK32-NEXT: retl
492 ; CHECK32-LABEL: fetch_and_max:
493 ; CHECK32: # %bb.0:
494 ; CHECK32-NEXT: pushl %esi
495 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
496 ; CHECK32-NEXT: subl $24, %esp
497 ; CHECK32-NEXT: .cfi_def_cfa_offset 32
498 ; CHECK32-NEXT: .cfi_offset %esi, -8
499 ; CHECK32-NEXT: subl $8, %esp
500 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 8
501 ; CHECK32-NEXT: leal {{[0-9]+}}(%esp), %eax
502 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
503 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
504 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
505 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
506 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
507 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
508 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
509 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
510 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
511 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
512 ; CHECK32-NEXT: pushl %eax
513 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
514 ; CHECK32-NEXT: calll __sync_fetch_and_max_16
515 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -4
516 ; CHECK32-NEXT: addl $28, %esp
517 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -28
518 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %eax
519 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %ecx
520 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %edx
521 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %esi
522 ; CHECK32-NEXT: movl %esi, var+8
523 ; CHECK32-NEXT: movl %edx, var+12
524 ; CHECK32-NEXT: movl %eax, var
525 ; CHECK32-NEXT: movl %ecx, var+4
526 ; CHECK32-NEXT: addl $24, %esp
527 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
528 ; CHECK32-NEXT: popl %esi
529 ; CHECK32-NEXT: .cfi_def_cfa_offset 4
530 ; CHECK32-NEXT: retl
563 ; CHECK32-LABEL: fetch_and_umin:
564 ; CHECK32: # %bb.0:
565 ; CHECK32-NEXT: pushl %esi
566 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
567 ; CHECK32-NEXT: subl $24, %esp
568 ; CHECK32-NEXT: .cfi_def_cfa_offset 32
569 ; CHECK32-NEXT: .cfi_offset %esi, -8
570 ; CHECK32-NEXT: subl $8, %esp
571 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 8
572 ; CHECK32-NEXT: leal {{[0-9]+}}(%esp), %eax
573 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
574 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
575 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
576 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
577 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
578 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
579 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
580 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
581 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
582 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
583 ; CHECK32-NEXT: pushl %eax
584 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
585 ; CHECK32-NEXT: calll __sync_fetch_and_umin_16
586 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -4
587 ; CHECK32-NEXT: addl $28, %esp
588 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -28
589 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %eax
590 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %ecx
591 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %edx
592 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %esi
593 ; CHECK32-NEXT: movl %esi, var+8
594 ; CHECK32-NEXT: movl %edx, var+12
595 ; CHECK32-NEXT: movl %eax, var
596 ; CHECK32-NEXT: movl %ecx, var+4
597 ; CHECK32-NEXT: addl $24, %esp
598 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
599 ; CHECK32-NEXT: popl %esi
600 ; CHECK32-NEXT: .cfi_def_cfa_offset 4
601 ; CHECK32-NEXT: retl
634 ; CHECK32-LABEL: fetch_and_umax:
635 ; CHECK32: # %bb.0:
636 ; CHECK32-NEXT: pushl %esi
637 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
638 ; CHECK32-NEXT: subl $24, %esp
639 ; CHECK32-NEXT: .cfi_def_cfa_offset 32
640 ; CHECK32-NEXT: .cfi_offset %esi, -8
641 ; CHECK32-NEXT: subl $8, %esp
642 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 8
643 ; CHECK32-NEXT: leal {{[0-9]+}}(%esp), %eax
644 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
645 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
646 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
647 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
648 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
649 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
650 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
651 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
652 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
653 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
654 ; CHECK32-NEXT: pushl %eax
655 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
656 ; CHECK32-NEXT: calll __sync_fetch_and_umax_16
657 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -4
658 ; CHECK32-NEXT: addl $28, %esp
659 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -28
660 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %eax
661 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %ecx
662 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %edx
663 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %esi
664 ; CHECK32-NEXT: movl %esi, var+8
665 ; CHECK32-NEXT: movl %edx, var+12
666 ; CHECK32-NEXT: movl %eax, var
667 ; CHECK32-NEXT: movl %ecx, var+4
668 ; CHECK32-NEXT: addl $24, %esp
669 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
670 ; CHECK32-NEXT: popl %esi
671 ; CHECK32-NEXT: .cfi_def_cfa_offset 4
672 ; CHECK32-NEXT: retl
692 ; CHECK32-LABEL: atomic_load_seq_cst:
693 ; CHECK32: # %bb.0:
694 ; CHECK32-NEXT: pushl %edi
695 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
696 ; CHECK32-NEXT: pushl %esi
697 ; CHECK32-NEXT: .cfi_def_cfa_offset 12
698 ; CHECK32-NEXT: subl $20, %esp
699 ; CHECK32-NEXT: .cfi_def_cfa_offset 32
700 ; CHECK32-NEXT: .cfi_offset %esi, -12
701 ; CHECK32-NEXT: .cfi_offset %edi, -8
702 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %esi
703 ; CHECK32-NEXT: subl $8, %esp
704 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 8
705 ; CHECK32-NEXT: leal {{[0-9]+}}(%esp), %eax
706 ; CHECK32-NEXT: pushl $0
707 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
708 ; CHECK32-NEXT: pushl $0
709 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
710 ; CHECK32-NEXT: pushl $0
711 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
712 ; CHECK32-NEXT: pushl $0
713 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
714 ; CHECK32-NEXT: pushl $0
715 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
716 ; CHECK32-NEXT: pushl $0
717 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
718 ; CHECK32-NEXT: pushl $0
719 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
720 ; CHECK32-NEXT: pushl $0
721 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
722 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
723 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
724 ; CHECK32-NEXT: pushl %eax
725 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
726 ; CHECK32-NEXT: calll __sync_val_compare_and_swap_16
727 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -4
728 ; CHECK32-NEXT: addl $44, %esp
729 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -44
730 ; CHECK32-NEXT: movl (%esp), %eax
731 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %ecx
732 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %edx
733 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %edi
734 ; CHECK32-NEXT: movl %edi, 8(%esi)
735 ; CHECK32-NEXT: movl %edx, 12(%esi)
736 ; CHECK32-NEXT: movl %eax, (%esi)
737 ; CHECK32-NEXT: movl %ecx, 4(%esi)
738 ; CHECK32-NEXT: movl %esi, %eax
739 ; CHECK32-NEXT: addl $20, %esp
740 ; CHECK32-NEXT: .cfi_def_cfa_offset 12
741 ; CHECK32-NEXT: popl %esi
742 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
743 ; CHECK32-NEXT: popl %edi
744 ; CHECK32-NEXT: .cfi_def_cfa_offset 4
745 ; CHECK32-NEXT: retl $4
764 ; CHECK32-LABEL: atomic_load_relaxed:
765 ; CHECK32: # %bb.0:
766 ; CHECK32-NEXT: pushl %edi
767 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
768 ; CHECK32-NEXT: pushl %esi
769 ; CHECK32-NEXT: .cfi_def_cfa_offset 12
770 ; CHECK32-NEXT: subl $20, %esp
771 ; CHECK32-NEXT: .cfi_def_cfa_offset 32
772 ; CHECK32-NEXT: .cfi_offset %esi, -12
773 ; CHECK32-NEXT: .cfi_offset %edi, -8
774 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %esi
775 ; CHECK32-NEXT: subl $8, %esp
776 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 8
777 ; CHECK32-NEXT: leal {{[0-9]+}}(%esp), %eax
778 ; CHECK32-NEXT: pushl $0
779 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
780 ; CHECK32-NEXT: pushl $0
781 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
782 ; CHECK32-NEXT: pushl $0
783 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
784 ; CHECK32-NEXT: pushl $0
785 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
786 ; CHECK32-NEXT: pushl $0
787 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
788 ; CHECK32-NEXT: pushl $0
789 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
790 ; CHECK32-NEXT: pushl $0
791 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
792 ; CHECK32-NEXT: pushl $0
793 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
794 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
795 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
796 ; CHECK32-NEXT: pushl %eax
797 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
798 ; CHECK32-NEXT: calll __sync_val_compare_and_swap_16
799 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -4
800 ; CHECK32-NEXT: addl $44, %esp
801 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -44
802 ; CHECK32-NEXT: movl (%esp), %eax
803 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %ecx
804 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %edx
805 ; CHECK32-NEXT: movl {{[0-9]+}}(%esp), %edi
806 ; CHECK32-NEXT: movl %edi, 8(%esi)
807 ; CHECK32-NEXT: movl %edx, 12(%esi)
808 ; CHECK32-NEXT: movl %eax, (%esi)
809 ; CHECK32-NEXT: movl %ecx, 4(%esi)
810 ; CHECK32-NEXT: movl %esi, %eax
811 ; CHECK32-NEXT: addl $20, %esp
812 ; CHECK32-NEXT: .cfi_def_cfa_offset 12
813 ; CHECK32-NEXT: popl %esi
814 ; CHECK32-NEXT: .cfi_def_cfa_offset 8
815 ; CHECK32-NEXT: popl %edi
816 ; CHECK32-NEXT: .cfi_def_cfa_offset 4
817 ; CHECK32-NEXT: retl $4
841 ; CHECK32-LABEL: atomic_store_seq_cst:
842 ; CHECK32: # %bb.0:
843 ; CHECK32-NEXT: subl $36, %esp
844 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 36
845 ; CHECK32-NEXT: leal {{[0-9]+}}(%esp), %eax
846 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
847 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
848 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
849 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
850 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
851 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
852 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
853 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
854 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
855 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
856 ; CHECK32-NEXT: pushl %eax
857 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
858 ; CHECK32-NEXT: calll __sync_lock_test_and_set_16
859 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -4
860 ; CHECK32-NEXT: addl $56, %esp
861 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -56
862 ; CHECK32-NEXT: retl
886 ; CHECK32-LABEL: atomic_store_release:
887 ; CHECK32: # %bb.0:
888 ; CHECK32-NEXT: subl $36, %esp
889 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 36
890 ; CHECK32-NEXT: leal {{[0-9]+}}(%esp), %eax
891 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
892 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
893 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
894 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
895 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
896 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
897 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
898 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
899 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
900 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
901 ; CHECK32-NEXT: pushl %eax
902 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
903 ; CHECK32-NEXT: calll __sync_lock_test_and_set_16
904 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -4
905 ; CHECK32-NEXT: addl $56, %esp
906 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -56
907 ; CHECK32-NEXT: retl
931 ; CHECK32-LABEL: atomic_store_relaxed:
932 ; CHECK32: # %bb.0:
933 ; CHECK32-NEXT: subl $36, %esp
934 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 36
935 ; CHECK32-NEXT: leal {{[0-9]+}}(%esp), %eax
936 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
937 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
938 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
939 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
940 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
941 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
942 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
943 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
944 ; CHECK32-NEXT: pushl {{[0-9]+}}(%esp)
945 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
946 ; CHECK32-NEXT: pushl %eax
947 ; CHECK32-NEXT: .cfi_adjust_cfa_offset 4
948 ; CHECK32-NEXT: calll __sync_lock_test_and_set_16
949 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -4
950 ; CHECK32-NEXT: addl $56, %esp
951 ; CHECK32-NEXT: .cfi_adjust_cfa_offset -56
952 ; CHECK32-NEXT: retl