Lines Matching refs:X86

3 …-machineinstrs           -mattr=+sse2      | FileCheck %s --check-prefixes=X86,X86-GENERIC,X86-SSE2
4 …y-machineinstrs -mcpu=slm -mattr=-sse2 | FileCheck %s --check-prefixes=X86,X86-GENERIC,X86-SLM
5 …y-machineinstrs -mcpu=goldmont -mattr=-sse2 | FileCheck %s --check-prefixes=X86,X86-GENERIC,X86-SLM
6 …y-machineinstrs -mcpu=knl -mattr=-sse2 | FileCheck %s --check-prefixes=X86,X86-GENERIC,X86-SLM
7 …86-- -verify-machineinstrs -mcpu=atom -mattr=-sse2 | FileCheck %s --check-prefixes=X86,X86-ATOM
21 ; X86-SSE2-LABEL: add8:
22 ; X86-SSE2: # %bb.0:
23 ; X86-SSE2-NEXT: movl {{[0-9]+}}(%esp), %eax
24 ; X86-SSE2-NEXT: mfence
25 ; X86-SSE2-NEXT: movzbl (%eax), %eax
26 ; X86-SSE2-NEXT: retl
28 ; X86-SLM-LABEL: add8:
29 ; X86-SLM: # %bb.0:
30 ; X86-SLM-NEXT: movl {{[0-9]+}}(%esp), %ecx
31 ; X86-SLM-NEXT: xorl %eax, %eax
32 ; X86-SLM-NEXT: lock xaddb %al, (%ecx)
33 ; X86-SLM-NEXT: # kill: def $al killed $al killed $eax
34 ; X86-SLM-NEXT: retl
36 ; X86-ATOM-LABEL: add8:
37 ; X86-ATOM: # %bb.0:
38 ; X86-ATOM-NEXT: movl {{[0-9]+}}(%esp), %ecx
39 ; X86-ATOM-NEXT: xorl %eax, %eax
40 ; X86-ATOM-NEXT: lock xaddb %al, (%ecx)
41 ; X86-ATOM-NEXT: # kill: def $al killed $al killed $eax
42 ; X86-ATOM-NEXT: nop
43 ; X86-ATOM-NEXT: nop
44 ; X86-ATOM-NEXT: retl
56 ; X86-SSE2-LABEL: or16:
57 ; X86-SSE2: # %bb.0:
58 ; X86-SSE2-NEXT: movl {{[0-9]+}}(%esp), %eax
59 ; X86-SSE2-NEXT: mfence
60 ; X86-SSE2-NEXT: movzwl (%eax), %eax
61 ; X86-SSE2-NEXT: retl
63 ; X86-SLM-LABEL: or16:
64 ; X86-SLM: # %bb.0:
65 ; X86-SLM-NEXT: movl {{[0-9]+}}(%esp), %ecx
66 ; X86-SLM-NEXT: movzwl (%ecx), %eax
67 ; X86-SLM-NEXT: .p2align 4, 0x90
68 ; X86-SLM-NEXT: .LBB1_1: # %atomicrmw.start
69 ; X86-SLM-NEXT: # =>This Inner Loop Header: Depth=1
70 ; X86-SLM-NEXT: lock cmpxchgw %ax, (%ecx)
71 ; X86-SLM-NEXT: jne .LBB1_1
72 ; X86-SLM-NEXT: # %bb.2: # %atomicrmw.end
73 ; X86-SLM-NEXT: retl
75 ; X86-ATOM-LABEL: or16:
76 ; X86-ATOM: # %bb.0:
77 ; X86-ATOM-NEXT: movl {{[0-9]+}}(%esp), %ecx
78 ; X86-ATOM-NEXT: movzwl (%ecx), %eax
79 ; X86-ATOM-NEXT: .p2align 4, 0x90
80 ; X86-ATOM-NEXT: .LBB1_1: # %atomicrmw.start
81 ; X86-ATOM-NEXT: # =>This Inner Loop Header: Depth=1
82 ; X86-ATOM-NEXT: lock cmpxchgw %ax, (%ecx)
83 ; X86-ATOM-NEXT: jne .LBB1_1
84 ; X86-ATOM-NEXT: # %bb.2: # %atomicrmw.end
85 ; X86-ATOM-NEXT: retl
97 ; X86-SSE2-LABEL: xor32:
98 ; X86-SSE2: # %bb.0:
99 ; X86-SSE2-NEXT: movl {{[0-9]+}}(%esp), %eax
100 ; X86-SSE2-NEXT: mfence
101 ; X86-SSE2-NEXT: movl (%eax), %eax
102 ; X86-SSE2-NEXT: retl
104 ; X86-SLM-LABEL: xor32:
105 ; X86-SLM: # %bb.0:
106 ; X86-SLM-NEXT: movl {{[0-9]+}}(%esp), %ecx
107 ; X86-SLM-NEXT: movl (%ecx), %eax
108 ; X86-SLM-NEXT: .p2align 4, 0x90
109 ; X86-SLM-NEXT: .LBB2_1: # %atomicrmw.start
110 ; X86-SLM-NEXT: # =>This Inner Loop Header: Depth=1
111 ; X86-SLM-NEXT: lock cmpxchgl %eax, (%ecx)
112 ; X86-SLM-NEXT: jne .LBB2_1
113 ; X86-SLM-NEXT: # %bb.2: # %atomicrmw.end
114 ; X86-SLM-NEXT: retl
116 ; X86-ATOM-LABEL: xor32:
117 ; X86-ATOM: # %bb.0:
118 ; X86-ATOM-NEXT: movl {{[0-9]+}}(%esp), %ecx
119 ; X86-ATOM-NEXT: movl (%ecx), %eax
120 ; X86-ATOM-NEXT: .p2align 4, 0x90
121 ; X86-ATOM-NEXT: .LBB2_1: # %atomicrmw.start
122 ; X86-ATOM-NEXT: # =>This Inner Loop Header: Depth=1
123 ; X86-ATOM-NEXT: lock cmpxchgl %eax, (%ecx)
124 ; X86-ATOM-NEXT: jne .LBB2_1
125 ; X86-ATOM-NEXT: # %bb.2: # %atomicrmw.end
126 ; X86-ATOM-NEXT: retl
138 ; X86-LABEL: sub64:
139 ; X86: # %bb.0:
140 ; X86-NEXT: pushl %ebx
141 ; X86-NEXT: .cfi_def_cfa_offset 8
142 ; X86-NEXT: pushl %esi
143 ; X86-NEXT: .cfi_def_cfa_offset 12
144 ; X86-NEXT: .cfi_offset %esi, -12
145 ; X86-NEXT: .cfi_offset %ebx, -8
146 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
147 ; X86-NEXT: movl (%esi), %eax
148 ; X86-NEXT: movl 4(%esi), %edx
149 ; X86-NEXT: .p2align 4, 0x90
150 ; X86-NEXT: .LBB3_1: # %atomicrmw.start
151 ; X86-NEXT: # =>This Inner Loop Header: Depth=1
152 ; X86-NEXT: movl %edx, %ecx
153 ; X86-NEXT: movl %eax, %ebx
154 ; X86-NEXT: lock cmpxchg8b (%esi)
155 ; X86-NEXT: jne .LBB3_1
156 ; X86-NEXT: # %bb.2: # %atomicrmw.end
157 ; X86-NEXT: popl %esi
158 ; X86-NEXT: .cfi_def_cfa_offset 8
159 ; X86-NEXT: popl %ebx
160 ; X86-NEXT: .cfi_def_cfa_offset 4
161 ; X86-NEXT: retl
178 ; X86-SSE2-LABEL: or128:
179 ; X86-SSE2: # %bb.0:
180 ; X86-SSE2-NEXT: pushl %ebp
181 ; X86-SSE2-NEXT: .cfi_def_cfa_offset 8
182 ; X86-SSE2-NEXT: .cfi_offset %ebp, -8
183 ; X86-SSE2-NEXT: movl %esp, %ebp
184 ; X86-SSE2-NEXT: .cfi_def_cfa_register %ebp
185 ; X86-SSE2-NEXT: pushl %edi
186 ; X86-SSE2-NEXT: pushl %esi
187 ; X86-SSE2-NEXT: andl $-8, %esp
188 ; X86-SSE2-NEXT: subl $16, %esp
189 ; X86-SSE2-NEXT: .cfi_offset %esi, -16
190 ; X86-SSE2-NEXT: .cfi_offset %edi, -12
191 ; X86-SSE2-NEXT: movl 8(%ebp), %esi
192 ; X86-SSE2-NEXT: movl %esp, %eax
193 ; X86-SSE2-NEXT: pushl $0
194 ; X86-SSE2-NEXT: pushl $0
195 ; X86-SSE2-NEXT: pushl $0
196 ; X86-SSE2-NEXT: pushl $0
197 ; X86-SSE2-NEXT: pushl 12(%ebp)
198 ; X86-SSE2-NEXT: pushl %eax
199 ; X86-SSE2-NEXT: calll __sync_fetch_and_or_16
200 ; X86-SSE2-NEXT: addl $20, %esp
201 ; X86-SSE2-NEXT: movl (%esp), %eax
202 ; X86-SSE2-NEXT: movl {{[0-9]+}}(%esp), %ecx
203 ; X86-SSE2-NEXT: movl {{[0-9]+}}(%esp), %edx
204 ; X86-SSE2-NEXT: movl {{[0-9]+}}(%esp), %edi
205 ; X86-SSE2-NEXT: movl %edi, 8(%esi)
206 ; X86-SSE2-NEXT: movl %edx, 12(%esi)
207 ; X86-SSE2-NEXT: movl %eax, (%esi)
208 ; X86-SSE2-NEXT: movl %ecx, 4(%esi)
209 ; X86-SSE2-NEXT: movl %esi, %eax
210 ; X86-SSE2-NEXT: leal -8(%ebp), %esp
211 ; X86-SSE2-NEXT: popl %esi
212 ; X86-SSE2-NEXT: popl %edi
213 ; X86-SSE2-NEXT: popl %ebp
214 ; X86-SSE2-NEXT: .cfi_def_cfa %esp, 4
215 ; X86-SSE2-NEXT: retl $4
217 ; X86-SLM-LABEL: or128:
218 ; X86-SLM: # %bb.0:
219 ; X86-SLM-NEXT: pushl %ebp
220 ; X86-SLM-NEXT: .cfi_def_cfa_offset 8
221 ; X86-SLM-NEXT: .cfi_offset %ebp, -8
222 ; X86-SLM-NEXT: movl %esp, %ebp
223 ; X86-SLM-NEXT: .cfi_def_cfa_register %ebp
224 ; X86-SLM-NEXT: pushl %edi
225 ; X86-SLM-NEXT: pushl %esi
226 ; X86-SLM-NEXT: andl $-8, %esp
227 ; X86-SLM-NEXT: subl $16, %esp
228 ; X86-SLM-NEXT: .cfi_offset %esi, -16
229 ; X86-SLM-NEXT: .cfi_offset %edi, -12
230 ; X86-SLM-NEXT: movl 8(%ebp), %esi
231 ; X86-SLM-NEXT: movl 12(%ebp), %eax
232 ; X86-SLM-NEXT: movl %esp, %ecx
233 ; X86-SLM-NEXT: pushl $0
234 ; X86-SLM-NEXT: pushl $0
235 ; X86-SLM-NEXT: pushl $0
236 ; X86-SLM-NEXT: pushl $0
237 ; X86-SLM-NEXT: pushl %eax
238 ; X86-SLM-NEXT: pushl %ecx
239 ; X86-SLM-NEXT: calll __sync_fetch_and_or_16
240 ; X86-SLM-NEXT: addl $20, %esp
241 ; X86-SLM-NEXT: movl (%esp), %eax
242 ; X86-SLM-NEXT: movl {{[0-9]+}}(%esp), %ecx
243 ; X86-SLM-NEXT: movl {{[0-9]+}}(%esp), %edx
244 ; X86-SLM-NEXT: movl {{[0-9]+}}(%esp), %edi
245 ; X86-SLM-NEXT: movl %edi, 8(%esi)
246 ; X86-SLM-NEXT: movl %edx, 12(%esi)
247 ; X86-SLM-NEXT: movl %eax, (%esi)
248 ; X86-SLM-NEXT: movl %ecx, 4(%esi)
249 ; X86-SLM-NEXT: movl %esi, %eax
250 ; X86-SLM-NEXT: leal -8(%ebp), %esp
251 ; X86-SLM-NEXT: popl %esi
252 ; X86-SLM-NEXT: popl %edi
253 ; X86-SLM-NEXT: popl %ebp
254 ; X86-SLM-NEXT: .cfi_def_cfa %esp, 4
255 ; X86-SLM-NEXT: retl $4
257 ; X86-ATOM-LABEL: or128:
258 ; X86-ATOM: # %bb.0:
259 ; X86-ATOM-NEXT: pushl %ebp
260 ; X86-ATOM-NEXT: .cfi_def_cfa_offset 8
261 ; X86-ATOM-NEXT: .cfi_offset %ebp, -8
262 ; X86-ATOM-NEXT: leal (%esp), %ebp
263 ; X86-ATOM-NEXT: .cfi_def_cfa_register %ebp
264 ; X86-ATOM-NEXT: pushl %edi
265 ; X86-ATOM-NEXT: pushl %esi
266 ; X86-ATOM-NEXT: andl $-8, %esp
267 ; X86-ATOM-NEXT: leal -{{[0-9]+}}(%esp), %esp
268 ; X86-ATOM-NEXT: .cfi_offset %esi, -16
269 ; X86-ATOM-NEXT: .cfi_offset %edi, -12
270 ; X86-ATOM-NEXT: movl 8(%ebp), %esi
271 ; X86-ATOM-NEXT: movl 12(%ebp), %eax
272 ; X86-ATOM-NEXT: movl %esp, %ecx
273 ; X86-ATOM-NEXT: pushl $0
274 ; X86-ATOM-NEXT: pushl $0
275 ; X86-ATOM-NEXT: pushl $0
276 ; X86-ATOM-NEXT: pushl $0
277 ; X86-ATOM-NEXT: pushl %eax
278 ; X86-ATOM-NEXT: pushl %ecx
279 ; X86-ATOM-NEXT: calll __sync_fetch_and_or_16
280 ; X86-ATOM-NEXT: leal {{[0-9]+}}(%esp), %esp
281 ; X86-ATOM-NEXT: movl (%esp), %ecx
282 ; X86-ATOM-NEXT: movl {{[0-9]+}}(%esp), %edx
283 ; X86-ATOM-NEXT: movl {{[0-9]+}}(%esp), %eax
284 ; X86-ATOM-NEXT: movl {{[0-9]+}}(%esp), %edi
285 ; X86-ATOM-NEXT: movl %eax, 8(%esi)
286 ; X86-ATOM-NEXT: movl %edi, 12(%esi)
287 ; X86-ATOM-NEXT: movl %ecx, (%esi)
288 ; X86-ATOM-NEXT: movl %esi, %eax
289 ; X86-ATOM-NEXT: movl %edx, 4(%esi)
290 ; X86-ATOM-NEXT: leal -8(%ebp), %esp
291 ; X86-ATOM-NEXT: popl %esi
292 ; X86-ATOM-NEXT: popl %edi
293 ; X86-ATOM-NEXT: popl %ebp
294 ; X86-ATOM-NEXT: .cfi_def_cfa %esp, 4
295 ; X86-ATOM-NEXT: retl $4
308 ; X86-SSE2-LABEL: and32:
309 ; X86-SSE2: # %bb.0:
310 ; X86-SSE2-NEXT: movl {{[0-9]+}}(%esp), %eax
311 ; X86-SSE2-NEXT: mfence
312 ; X86-SSE2-NEXT: movl (%eax), %eax
313 ; X86-SSE2-NEXT: retl
315 ; X86-SLM-LABEL: and32:
316 ; X86-SLM: # %bb.0:
317 ; X86-SLM-NEXT: movl {{[0-9]+}}(%esp), %ecx
318 ; X86-SLM-NEXT: movl (%ecx), %eax
319 ; X86-SLM-NEXT: .p2align 4, 0x90
320 ; X86-SLM-NEXT: .LBB5_1: # %atomicrmw.start
321 ; X86-SLM-NEXT: # =>This Inner Loop Header: Depth=1
322 ; X86-SLM-NEXT: lock cmpxchgl %eax, (%ecx)
323 ; X86-SLM-NEXT: jne .LBB5_1
324 ; X86-SLM-NEXT: # %bb.2: # %atomicrmw.end
325 ; X86-SLM-NEXT: retl
327 ; X86-ATOM-LABEL: and32:
328 ; X86-ATOM: # %bb.0:
329 ; X86-ATOM-NEXT: movl {{[0-9]+}}(%esp), %ecx
330 ; X86-ATOM-NEXT: movl (%ecx), %eax
331 ; X86-ATOM-NEXT: .p2align 4, 0x90
332 ; X86-ATOM-NEXT: .LBB5_1: # %atomicrmw.start
333 ; X86-ATOM-NEXT: # =>This Inner Loop Header: Depth=1
334 ; X86-ATOM-NEXT: lock cmpxchgl %eax, (%ecx)
335 ; X86-ATOM-NEXT: jne .LBB5_1
336 ; X86-ATOM-NEXT: # %bb.2: # %atomicrmw.end
337 ; X86-ATOM-NEXT: retl
348 ; X86-GENERIC-LABEL: or32_nouse_monotonic:
349 ; X86-GENERIC: # %bb.0:
350 ; X86-GENERIC-NEXT: #MEMBARRIER
351 ; X86-GENERIC-NEXT: retl
353 ; X86-ATOM-LABEL: or32_nouse_monotonic:
354 ; X86-ATOM: # %bb.0:
355 ; X86-ATOM-NEXT: #MEMBARRIER
356 ; X86-ATOM-NEXT: nop
357 ; X86-ATOM-NEXT: nop
358 ; X86-ATOM-NEXT: nop
359 ; X86-ATOM-NEXT: nop
360 ; X86-ATOM-NEXT: nop
361 ; X86-ATOM-NEXT: nop
362 ; X86-ATOM-NEXT: retl
374 ; X86-GENERIC-LABEL: or32_nouse_acquire:
375 ; X86-GENERIC: # %bb.0:
376 ; X86-GENERIC-NEXT: #MEMBARRIER
377 ; X86-GENERIC-NEXT: retl
379 ; X86-ATOM-LABEL: or32_nouse_acquire:
380 ; X86-ATOM: # %bb.0:
381 ; X86-ATOM-NEXT: #MEMBARRIER
382 ; X86-ATOM-NEXT: nop
383 ; X86-ATOM-NEXT: nop
384 ; X86-ATOM-NEXT: nop
385 ; X86-ATOM-NEXT: nop
386 ; X86-ATOM-NEXT: nop
387 ; X86-ATOM-NEXT: nop
388 ; X86-ATOM-NEXT: retl
399 ; X86-GENERIC-LABEL: or32_nouse_release:
400 ; X86-GENERIC: # %bb.0:
401 ; X86-GENERIC-NEXT: #MEMBARRIER
402 ; X86-GENERIC-NEXT: retl
404 ; X86-ATOM-LABEL: or32_nouse_release:
405 ; X86-ATOM: # %bb.0:
406 ; X86-ATOM-NEXT: #MEMBARRIER
407 ; X86-ATOM-NEXT: nop
408 ; X86-ATOM-NEXT: nop
409 ; X86-ATOM-NEXT: nop
410 ; X86-ATOM-NEXT: nop
411 ; X86-ATOM-NEXT: nop
412 ; X86-ATOM-NEXT: nop
413 ; X86-ATOM-NEXT: retl
424 ; X86-GENERIC-LABEL: or32_nouse_acq_rel:
425 ; X86-GENERIC: # %bb.0:
426 ; X86-GENERIC-NEXT: #MEMBARRIER
427 ; X86-GENERIC-NEXT: retl
429 ; X86-ATOM-LABEL: or32_nouse_acq_rel:
430 ; X86-ATOM: # %bb.0:
431 ; X86-ATOM-NEXT: #MEMBARRIER
432 ; X86-ATOM-NEXT: nop
433 ; X86-ATOM-NEXT: nop
434 ; X86-ATOM-NEXT: nop
435 ; X86-ATOM-NEXT: nop
436 ; X86-ATOM-NEXT: nop
437 ; X86-ATOM-NEXT: nop
438 ; X86-ATOM-NEXT: retl
449 ; X86-GENERIC-LABEL: or32_nouse_seq_cst:
450 ; X86-GENERIC: # %bb.0:
451 ; X86-GENERIC-NEXT: lock orl $0, (%esp)
452 ; X86-GENERIC-NEXT: retl
454 ; X86-ATOM-LABEL: or32_nouse_seq_cst:
455 ; X86-ATOM: # %bb.0:
456 ; X86-ATOM-NEXT: lock orl $0, (%esp)
457 ; X86-ATOM-NEXT: nop
458 ; X86-ATOM-NEXT: nop
459 ; X86-ATOM-NEXT: nop
460 ; X86-ATOM-NEXT: nop
461 ; X86-ATOM-NEXT: nop
462 ; X86-ATOM-NEXT: nop
463 ; X86-ATOM-NEXT: retl
475 ; X86-LABEL: or64_nouse_seq_cst:
476 ; X86: # %bb.0:
477 ; X86-NEXT: pushl %ebx
478 ; X86-NEXT: .cfi_def_cfa_offset 8
479 ; X86-NEXT: pushl %esi
480 ; X86-NEXT: .cfi_def_cfa_offset 12
481 ; X86-NEXT: .cfi_offset %esi, -12
482 ; X86-NEXT: .cfi_offset %ebx, -8
483 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
484 ; X86-NEXT: movl (%esi), %eax
485 ; X86-NEXT: movl 4(%esi), %edx
486 ; X86-NEXT: .p2align 4, 0x90
487 ; X86-NEXT: .LBB11_1: # %atomicrmw.start
488 ; X86-NEXT: # =>This Inner Loop Header: Depth=1
489 ; X86-NEXT: movl %edx, %ecx
490 ; X86-NEXT: movl %eax, %ebx
491 ; X86-NEXT: lock cmpxchg8b (%esi)
492 ; X86-NEXT: jne .LBB11_1
493 ; X86-NEXT: # %bb.2: # %atomicrmw.end
494 ; X86-NEXT: popl %esi
495 ; X86-NEXT: .cfi_def_cfa_offset 8
496 ; X86-NEXT: popl %ebx
497 ; X86-NEXT: .cfi_def_cfa_offset 4
498 ; X86-NEXT: retl
516 ; X86-SSE2-LABEL: or128_nouse_seq_cst:
517 ; X86-SSE2: # %bb.0:
518 ; X86-SSE2-NEXT: pushl %ebp
519 ; X86-SSE2-NEXT: .cfi_def_cfa_offset 8
520 ; X86-SSE2-NEXT: .cfi_offset %ebp, -8
521 ; X86-SSE2-NEXT: movl %esp, %ebp
522 ; X86-SSE2-NEXT: .cfi_def_cfa_register %ebp
523 ; X86-SSE2-NEXT: andl $-8, %esp
524 ; X86-SSE2-NEXT: subl $16, %esp
525 ; X86-SSE2-NEXT: movl %esp, %eax
526 ; X86-SSE2-NEXT: pushl $0
527 ; X86-SSE2-NEXT: pushl $0
528 ; X86-SSE2-NEXT: pushl $0
529 ; X86-SSE2-NEXT: pushl $0
530 ; X86-SSE2-NEXT: pushl 8(%ebp)
531 ; X86-SSE2-NEXT: pushl %eax
532 ; X86-SSE2-NEXT: calll __sync_fetch_and_or_16
533 ; X86-SSE2-NEXT: addl $20, %esp
534 ; X86-SSE2-NEXT: movl %ebp, %esp
535 ; X86-SSE2-NEXT: popl %ebp
536 ; X86-SSE2-NEXT: .cfi_def_cfa %esp, 4
537 ; X86-SSE2-NEXT: retl
539 ; X86-SLM-LABEL: or128_nouse_seq_cst:
540 ; X86-SLM: # %bb.0:
541 ; X86-SLM-NEXT: pushl %ebp
542 ; X86-SLM-NEXT: .cfi_def_cfa_offset 8
543 ; X86-SLM-NEXT: .cfi_offset %ebp, -8
544 ; X86-SLM-NEXT: movl %esp, %ebp
545 ; X86-SLM-NEXT: .cfi_def_cfa_register %ebp
546 ; X86-SLM-NEXT: andl $-8, %esp
547 ; X86-SLM-NEXT: subl $16, %esp
548 ; X86-SLM-NEXT: movl 8(%ebp), %eax
549 ; X86-SLM-NEXT: movl %esp, %ecx
550 ; X86-SLM-NEXT: pushl $0
551 ; X86-SLM-NEXT: pushl $0
552 ; X86-SLM-NEXT: pushl $0
553 ; X86-SLM-NEXT: pushl $0
554 ; X86-SLM-NEXT: pushl %eax
555 ; X86-SLM-NEXT: pushl %ecx
556 ; X86-SLM-NEXT: calll __sync_fetch_and_or_16
557 ; X86-SLM-NEXT: addl $20, %esp
558 ; X86-SLM-NEXT: movl %ebp, %esp
559 ; X86-SLM-NEXT: popl %ebp
560 ; X86-SLM-NEXT: .cfi_def_cfa %esp, 4
561 ; X86-SLM-NEXT: retl
563 ; X86-ATOM-LABEL: or128_nouse_seq_cst:
564 ; X86-ATOM: # %bb.0:
565 ; X86-ATOM-NEXT: pushl %ebp
566 ; X86-ATOM-NEXT: .cfi_def_cfa_offset 8
567 ; X86-ATOM-NEXT: .cfi_offset %ebp, -8
568 ; X86-ATOM-NEXT: leal (%esp), %ebp
569 ; X86-ATOM-NEXT: .cfi_def_cfa_register %ebp
570 ; X86-ATOM-NEXT: andl $-8, %esp
571 ; X86-ATOM-NEXT: leal -{{[0-9]+}}(%esp), %esp
572 ; X86-ATOM-NEXT: movl 8(%ebp), %eax
573 ; X86-ATOM-NEXT: movl %esp, %ecx
574 ; X86-ATOM-NEXT: pushl $0
575 ; X86-ATOM-NEXT: pushl $0
576 ; X86-ATOM-NEXT: pushl $0
577 ; X86-ATOM-NEXT: pushl $0
578 ; X86-ATOM-NEXT: pushl %eax
579 ; X86-ATOM-NEXT: pushl %ecx
580 ; X86-ATOM-NEXT: calll __sync_fetch_and_or_16
581 ; X86-ATOM-NEXT: leal {{[0-9]+}}(%esp), %esp
582 ; X86-ATOM-NEXT: movl %ebp, %esp
583 ; X86-ATOM-NEXT: popl %ebp
584 ; X86-ATOM-NEXT: .cfi_def_cfa %esp, 4
585 ; X86-ATOM-NEXT: retl
597 ; X86-GENERIC-LABEL: or16_nouse_seq_cst:
598 ; X86-GENERIC: # %bb.0:
599 ; X86-GENERIC-NEXT: lock orl $0, (%esp)
600 ; X86-GENERIC-NEXT: retl
602 ; X86-ATOM-LABEL: or16_nouse_seq_cst:
603 ; X86-ATOM: # %bb.0:
604 ; X86-ATOM-NEXT: lock orl $0, (%esp)
605 ; X86-ATOM-NEXT: nop
606 ; X86-ATOM-NEXT: nop
607 ; X86-ATOM-NEXT: nop
608 ; X86-ATOM-NEXT: nop
609 ; X86-ATOM-NEXT: nop
610 ; X86-ATOM-NEXT: nop
611 ; X86-ATOM-NEXT: retl
622 ; X86-GENERIC-LABEL: or8_nouse_seq_cst:
623 ; X86-GENERIC: # %bb.0:
624 ; X86-GENERIC-NEXT: lock orl $0, (%esp)
625 ; X86-GENERIC-NEXT: retl
627 ; X86-ATOM-LABEL: or8_nouse_seq_cst:
628 ; X86-ATOM: # %bb.0:
629 ; X86-ATOM-NEXT: lock orl $0, (%esp)
630 ; X86-ATOM-NEXT: nop
631 ; X86-ATOM-NEXT: nop
632 ; X86-ATOM-NEXT: nop
633 ; X86-ATOM-NEXT: nop
634 ; X86-ATOM-NEXT: nop
635 ; X86-ATOM-NEXT: nop
636 ; X86-ATOM-NEXT: retl