/* ---------------------------------------------- *//* This file is extracted from `gcc` v15.1.0 `libatomic.a`. *//* This file is generated by https://github.com/kbkpbot/gen_atomic.git *//* This file is generated at 2025-06-24 21:37. *//* This file implements for i386/x86_64/arm/aarch64/riscv: * __atomic_load_[1,2,4,8] * __atomic_store_[1,2,4,8] * __atomic_compare_exchange_[1,2,4,8] * __atomic_test_and_set_[1,2,4,8] * atomic_thread_fence * atomic_signal_fence * atomic_flag_test_and_set * atomic_flag_test_and_set_explicit * atomic_flag_clear * atomic_flag_clear_explicit *//* SPDX-License-Identifier: GPL-3.0-or-later WITH GCC-exception-3.1 * Copyright (C) 2012-2025 Free Software Foundation, Inc. */#ifdef __leading_underscore# define _(s) _##s#else# define _(s) s#endif /* ---------------------------------------------- */#if defined __i386__ #define endbr32 .text .global _(__atomic_load_1) .type _(__atomic_load_1), %function_(__atomic_load_1): endbr32 mov 0x4(%esp),%eax movzbl (%eax),%eax ret .size _(__atomic_load_1), .-_(__atomic_load_1) .global _(__atomic_load_2) .type _(__atomic_load_2), %function_(__atomic_load_2): endbr32 mov 0x4(%esp),%eax movzwl (%eax),%eax ret .size _(__atomic_load_2), .-_(__atomic_load_2) .global _(__atomic_load_4) .type _(__atomic_load_4), %function_(__atomic_load_4): endbr32 mov 0x4(%esp),%eax mov (%eax),%eax ret .size _(__atomic_load_4), .-_(__atomic_load_4) .global _(__atomic_load_8) .type _(__atomic_load_8), %function_(__atomic_load_8): endbr32 sub $0xc,%esp mov 0x10(%esp),%eax fildll (%eax) fistpll (%esp) mov (%esp),%eax mov 0x4(%esp),%edx add $0xc,%esp ret .size _(__atomic_load_8), .-_(__atomic_load_8) .global _(__atomic_store_1) .type _(__atomic_store_1), %function_(__atomic_store_1): endbr32 mov 0x4(%esp),%edx mov 0x8(%esp),%eax xchg %al,(%edx) ret .size _(__atomic_store_1), .-_(__atomic_store_1) .global _(__atomic_store_2) .type _(__atomic_store_2), %function_(__atomic_store_2): endbr32 mov 0x4(%esp),%edx mov 0x8(%esp),%eax xchg %ax,(%edx) ret .size _(__atomic_store_2), .-_(__atomic_store_2) .global _(__atomic_store_4) .type _(__atomic_store_4), %function_(__atomic_store_4): endbr32 mov 0x4(%esp),%edx mov 0x8(%esp),%eax xchg %eax,(%edx) ret .size _(__atomic_store_4), .-_(__atomic_store_4) .global _(__atomic_store_8) .type _(__atomic_store_8), %function_(__atomic_store_8): endbr32 push %ebx sub $0x8,%esp mov 0x18(%esp),%ebx mov 0x14(%esp),%ecx mov %ecx,(%esp) mov %ebx,0x4(%esp) fildll (%esp) mov 0x10(%esp),%eax fistpll (%eax) lock orl $0x0,(%esp) add $0x8,%esp pop %ebx ret .size _(__atomic_store_8), .-_(__atomic_store_8) .global _(__atomic_compare_exchange_1) .type _(__atomic_compare_exchange_1), %function_(__atomic_compare_exchange_1): endbr32 push %ebx mov 0xc(%esp),%ecx mov 0x8(%esp),%edx movzbl 0x10(%esp),%ebx movzbl (%ecx),%eax lock cmpxchg %bl,(%edx) sete %dl je .L___atomic_compare_exchange_1_020 mov %al,(%ecx).L___atomic_compare_exchange_1_020: mov %edx,%eax pop %ebx ret .size _(__atomic_compare_exchange_1), .-_(__atomic_compare_exchange_1) .global _(__atomic_compare_exchange_2) .type _(__atomic_compare_exchange_2), %function_(__atomic_compare_exchange_2): endbr32 push %ebx mov 0xc(%esp),%ecx mov 0x8(%esp),%edx movzwl 0x10(%esp),%ebx movzwl (%ecx),%eax lock cmpxchg %bx,(%edx) sete %dl je .L___atomic_compare_exchange_2_022 mov %ax,(%ecx).L___atomic_compare_exchange_2_022: mov %edx,%eax pop %ebx ret .size _(__atomic_compare_exchange_2), .-_(__atomic_compare_exchange_2) .global _(__atomic_compare_exchange_4) .type _(__atomic_compare_exchange_4), %function_(__atomic_compare_exchange_4): endbr32 push %ebx mov 0xc(%esp),%ecx mov 0x8(%esp),%edx mov 0x10(%esp),%ebx mov (%ecx),%eax lock cmpxchg %ebx,(%edx) sete %dl je .L___atomic_compare_exchange_4_01e mov %eax,(%ecx).L___atomic_compare_exchange_4_01e: mov %edx,%eax pop %ebx ret .size _(__atomic_compare_exchange_4), .-_(__atomic_compare_exchange_4) .global _(__atomic_compare_exchange_8) .type _(__atomic_compare_exchange_8), %function_(__atomic_compare_exchange_8): endbr32 push %edi push %esi push %ebx mov 0x14(%esp),%esi mov 0x1c(%esp),%ecx mov 0x10(%esp),%edi mov (%esi),%eax mov 0x4(%esi),%edx mov 0x18(%esp),%ebx lock cmpxchg8b (%edi) sete %cl je .L___atomic_compare_exchange_8_02a mov %eax,(%esi) mov %edx,0x4(%esi).L___atomic_compare_exchange_8_02a: pop %ebx mov %ecx,%eax pop %esi pop %edi ret .size _(__atomic_compare_exchange_8), .-_(__atomic_compare_exchange_8) .global _(__atomic_test_and_set_1) .type _(__atomic_test_and_set_1), %function_(__atomic_test_and_set_1): endbr32 mov 0x4(%esp),%edx mov $0x1,%eax xchg %al,(%edx) ret .size _(__atomic_test_and_set_1), .-_(__atomic_test_and_set_1) .global _(__atomic_test_and_set_2) .type _(__atomic_test_and_set_2), %function_(__atomic_test_and_set_2): endbr32 mov 0x4(%esp),%edx mov $0x1,%eax xchg %al,(%edx) ret .size _(__atomic_test_and_set_2), .-_(__atomic_test_and_set_2) .global _(__atomic_test_and_set_4) .type _(__atomic_test_and_set_4), %function_(__atomic_test_and_set_4): endbr32 mov 0x4(%esp),%edx mov $0x1,%eax xchg %al,(%edx) ret .size _(__atomic_test_and_set_4), .-_(__atomic_test_and_set_4) .global _(__atomic_test_and_set_8) .type _(__atomic_test_and_set_8), %function_(__atomic_test_and_set_8): endbr32 mov 0x4(%esp),%edx mov $0x1,%eax xchg %al,(%edx) ret .size _(__atomic_test_and_set_8), .-_(__atomic_test_and_set_8) .global _(atomic_thread_fence) .type _(atomic_thread_fence), %function_(atomic_thread_fence): endbr32 lock orl $0x0,(%esp) ret .size _(atomic_thread_fence), .-_(atomic_thread_fence) .global _(atomic_signal_fence) .type _(atomic_signal_fence), %function_(atomic_signal_fence): endbr32 ret .size _(atomic_signal_fence), .-_(atomic_signal_fence) .global _(atomic_flag_test_and_set) .type _(atomic_flag_test_and_set), %function_(atomic_flag_test_and_set): endbr32 mov 0x4(%esp),%edx mov $0x1,%eax xchg %al,(%edx) ret .size _(atomic_flag_test_and_set), .-_(atomic_flag_test_and_set) .global _(atomic_flag_test_and_set_explicit) .type _(atomic_flag_test_and_set_explicit), %function_(atomic_flag_test_and_set_explicit): endbr32 mov 0x4(%esp),%edx mov $0x1,%eax xchg %al,(%edx) ret .size _(atomic_flag_test_and_set_explicit), .-_(atomic_flag_test_and_set_explicit) .global _(atomic_flag_clear) .type _(atomic_flag_clear), %function_(atomic_flag_clear): endbr32 mov 0x4(%esp),%edx xor %eax,%eax xchg %al,(%edx) ret .size _(atomic_flag_clear), .-_(atomic_flag_clear) .global _(atomic_flag_clear_explicit) .type _(atomic_flag_clear_explicit), %function_(atomic_flag_clear_explicit): endbr32 mov 0x4(%esp),%edx xor %eax,%eax xchg %al,(%edx) ret .size _(atomic_flag_clear_explicit), .-_(atomic_flag_clear_explicit) #endif //__i386__ /* ---------------------------------------------- */#if defined __x86_64__ && !defined _WIN32 #define endbr64 .text .global _(__atomic_load_1) .type _(__atomic_load_1), %function_(__atomic_load_1): endbr64 movzbl (%rdi),%eax ret .size _(__atomic_load_1), .-_(__atomic_load_1) .global _(__atomic_load_2) .type _(__atomic_load_2), %function_(__atomic_load_2): endbr64 movzwl (%rdi),%eax ret .size _(__atomic_load_2), .-_(__atomic_load_2) .global _(__atomic_load_4) .type _(__atomic_load_4), %function_(__atomic_load_4): endbr64 mov (%rdi),%eax ret .size _(__atomic_load_4), .-_(__atomic_load_4) .global _(__atomic_load_8) .type _(__atomic_load_8), %function_(__atomic_load_8): endbr64 mov (%rdi),%rax ret .size _(__atomic_load_8), .-_(__atomic_load_8) .global _(__atomic_store_1) .type _(__atomic_store_1), %function_(__atomic_store_1): endbr64 xchg %sil,(%rdi) ret .size _(__atomic_store_1), .-_(__atomic_store_1) .global _(__atomic_store_2) .type _(__atomic_store_2), %function_(__atomic_store_2): endbr64 xchg %si,(%rdi) ret .size _(__atomic_store_2), .-_(__atomic_store_2) .global _(__atomic_store_4) .type _(__atomic_store_4), %function_(__atomic_store_4): endbr64 xchg %esi,(%rdi) ret .size _(__atomic_store_4), .-_(__atomic_store_4) .global _(__atomic_store_8) .type _(__atomic_store_8), %function_(__atomic_store_8): endbr64 xchg %rsi,(%rdi) ret .size _(__atomic_store_8), .-_(__atomic_store_8) .global _(__atomic_compare_exchange_1) .type _(__atomic_compare_exchange_1), %function_(__atomic_compare_exchange_1): endbr64 movzbl (%rsi),%eax lock cmpxchg %dl,(%rdi) sete %dl je .L___atomic_compare_exchange_1_012 mov %al,(%rsi).L___atomic_compare_exchange_1_012: mov %edx,%eax ret .size _(__atomic_compare_exchange_1), .-_(__atomic_compare_exchange_1) .global _(__atomic_compare_exchange_2) .type _(__atomic_compare_exchange_2), %function_(__atomic_compare_exchange_2): endbr64 movzwl (%rsi),%eax lock cmpxchg %dx,(%rdi) sete %dl je .L___atomic_compare_exchange_2_014 mov %ax,(%rsi).L___atomic_compare_exchange_2_014: mov %edx,%eax ret .size _(__atomic_compare_exchange_2), .-_(__atomic_compare_exchange_2) .global _(__atomic_compare_exchange_4) .type _(__atomic_compare_exchange_4), %function_(__atomic_compare_exchange_4): endbr64 mov (%rsi),%eax lock cmpxchg %edx,(%rdi) sete %dl je .L___atomic_compare_exchange_4_011 mov %eax,(%rsi).L___atomic_compare_exchange_4_011: mov %edx,%eax ret .size _(__atomic_compare_exchange_4), .-_(__atomic_compare_exchange_4) .global _(__atomic_compare_exchange_8) .type _(__atomic_compare_exchange_8), %function_(__atomic_compare_exchange_8): endbr64 mov (%rsi),%rax lock cmpxchg %rdx,(%rdi) sete %dl je .L___atomic_compare_exchange_8_014 mov %rax,(%rsi).L___atomic_compare_exchange_8_014: mov %edx,%eax ret .size _(__atomic_compare_exchange_8), .-_(__atomic_compare_exchange_8) .global _(__atomic_test_and_set_1) .type _(__atomic_test_and_set_1), %function_(__atomic_test_and_set_1): endbr64 mov $0x1,%eax xchg %al,(%rdi) ret .size _(__atomic_test_and_set_1), .-_(__atomic_test_and_set_1) .global _(__atomic_test_and_set_2) .type _(__atomic_test_and_set_2), %function_(__atomic_test_and_set_2): endbr64 mov $0x1,%eax xchg %al,(%rdi) ret .size _(__atomic_test_and_set_2), .-_(__atomic_test_and_set_2) .global _(__atomic_test_and_set_4) .type _(__atomic_test_and_set_4), %function_(__atomic_test_and_set_4): endbr64 mov $0x1,%eax xchg %al,(%rdi) ret .size _(__atomic_test_and_set_4), .-_(__atomic_test_and_set_4) .global _(__atomic_test_and_set_8) .type _(__atomic_test_and_set_8), %function_(__atomic_test_and_set_8): endbr64 mov $0x1,%eax xchg %al,(%rdi) ret .size _(__atomic_test_and_set_8), .-_(__atomic_test_and_set_8) .global _(atomic_thread_fence) .type _(atomic_thread_fence), %function_(atomic_thread_fence): endbr64 lock orq $0x0,(%rsp) ret .size _(atomic_thread_fence), .-_(atomic_thread_fence) .global _(atomic_signal_fence) .type _(atomic_signal_fence), %function_(atomic_signal_fence): endbr64 ret .size _(atomic_signal_fence), .-_(atomic_signal_fence) .global _(atomic_flag_test_and_set) .type _(atomic_flag_test_and_set), %function_(atomic_flag_test_and_set): endbr64 mov $0x1,%eax xchg %al,(%rdi) ret .size _(atomic_flag_test_and_set), .-_(atomic_flag_test_and_set) .global _(atomic_flag_test_and_set_explicit) .type _(atomic_flag_test_and_set_explicit), %function_(atomic_flag_test_and_set_explicit): endbr64 mov $0x1,%eax xchg %al,(%rdi) ret .size _(atomic_flag_test_and_set_explicit), .-_(atomic_flag_test_and_set_explicit) .global _(atomic_flag_clear)Lines 1–500 of 2669. Load more
/* ---------------------------------------------- */ /* This file is extracted from `gcc` v15.1.0 `libatomic.a`. */ /* This file is generated by https://github.com/kbkpbot/gen_atomic.git */ /* This file is generated at 2025-06-24 21:37. */ /* This file implements for i386/x86_64/arm/aarch64/riscv: * __atomic_load_[1,2,4,8] * __atomic_store_[1,2,4,8] * __atomic_compare_exchange_[1,2,4,8] * __atomic_test_and_set_[1,2,4,8] * atomic_thread_fence * atomic_signal_fence * atomic_flag_test_and_set * atomic_flag_test_and_set_explicit * atomic_flag_clear * atomic_flag_clear_explicit */ /* SPDX-License-Identifier: GPL-3.0-or-later WITH GCC-exception-3.1 * Copyright (C) 2012-2025 Free Software Foundation, Inc. */ #ifdef __leading_underscore # define _(s) _##s #else # define _(s) s #endif /* ---------------------------------------------- */ #if defined __i386__ #define endbr32 .text .global _(__atomic_load_1) .type _(__atomic_load_1), %function _(__atomic_load_1): endbr32 mov 0x4(%esp),%eax movzbl (%eax),%eax ret .size _(__atomic_load_1), .-_(__atomic_load_1) .global _(__atomic_load_2) .type _(__atomic_load_2), %function _(__atomic_load_2): endbr32 mov 0x4(%esp),%eax movzwl (%eax),%eax ret .size _(__atomic_load_2), .-_(__atomic_load_2) .global _(__atomic_load_4) .type _(__atomic_load_4), %function _(__atomic_load_4): endbr32 mov 0x4(%esp),%eax mov (%eax),%eax ret .size _(__atomic_load_4), .-_(__atomic_load_4) .global _(__atomic_load_8) .type _(__atomic_load_8), %function _(__atomic_load_8): endbr32 sub $0xc,%esp mov 0x10(%esp),%eax fildll (%eax) fistpll (%esp) mov (%esp),%eax mov 0x4(%esp),%edx add $0xc,%esp ret .size _(__atomic_load_8), .-_(__atomic_load_8) .global _(__atomic_store_1) .type _(__atomic_store_1), %function _(__atomic_store_1): endbr32 mov 0x4(%esp),%edx mov 0x8(%esp),%eax xchg %al,(%edx) ret .size _(__atomic_store_1), .-_(__atomic_store_1) .global _(__atomic_store_2) .type _(__atomic_store_2), %function _(__atomic_store_2): endbr32 mov 0x4(%esp),%edx mov 0x8(%esp),%eax xchg %ax,(%edx) ret .size _(__atomic_store_2), .-_(__atomic_store_2) .global _(__atomic_store_4) .type _(__atomic_store_4), %function _(__atomic_store_4): endbr32 mov 0x4(%esp),%edx mov 0x8(%esp),%eax xchg %eax,(%edx) ret .size _(__atomic_store_4), .-_(__atomic_store_4) .global _(__atomic_store_8) .type _(__atomic_store_8), %function _(__atomic_store_8): endbr32 push %ebx sub $0x8,%esp mov 0x18(%esp),%ebx mov 0x14(%esp),%ecx mov %ecx,(%esp) mov %ebx,0x4(%esp) fildll (%esp) mov 0x10(%esp),%eax fistpll (%eax) lock orl $0x0,(%esp) add $0x8,%esp pop %ebx ret .size _(__atomic_store_8), .-_(__atomic_store_8) .global _(__atomic_compare_exchange_1) .type _(__atomic_compare_exchange_1), %function _(__atomic_compare_exchange_1): endbr32 push %ebx mov 0xc(%esp),%ecx mov 0x8(%esp),%edx movzbl 0x10(%esp),%ebx movzbl (%ecx),%eax lock cmpxchg %bl,(%edx) sete %dl je .L___atomic_compare_exchange_1_020 mov %al,(%ecx) .L___atomic_compare_exchange_1_020: mov %edx,%eax pop %ebx ret .size _(__atomic_compare_exchange_1), .-_(__atomic_compare_exchange_1) .global _(__atomic_compare_exchange_2) .type _(__atomic_compare_exchange_2), %function _(__atomic_compare_exchange_2): endbr32 push %ebx mov 0xc(%esp),%ecx mov 0x8(%esp),%edx movzwl 0x10(%esp),%ebx movzwl (%ecx),%eax lock cmpxchg %bx,(%edx) sete %dl je .L___atomic_compare_exchange_2_022 mov %ax,(%ecx) .L___atomic_compare_exchange_2_022: mov %edx,%eax pop %ebx ret .size _(__atomic_compare_exchange_2), .-_(__atomic_compare_exchange_2) .global _(__atomic_compare_exchange_4) .type _(__atomic_compare_exchange_4), %function _(__atomic_compare_exchange_4): endbr32 push %ebx mov 0xc(%esp),%ecx mov 0x8(%esp),%edx mov 0x10(%esp),%ebx mov (%ecx),%eax lock cmpxchg %ebx,(%edx) sete %dl je .L___atomic_compare_exchange_4_01e mov %eax,(%ecx) .L___atomic_compare_exchange_4_01e: mov %edx,%eax pop %ebx ret .size _(__atomic_compare_exchange_4), .-_(__atomic_compare_exchange_4) .global _(__atomic_compare_exchange_8) .type _(__atomic_compare_exchange_8), %function _(__atomic_compare_exchange_8): endbr32 push %edi push %esi push %ebx mov 0x14(%esp),%esi mov 0x1c(%esp),%ecx mov 0x10(%esp),%edi mov (%esi),%eax mov 0x4(%esi),%edx mov 0x18(%esp),%ebx lock cmpxchg8b (%edi) sete %cl je .L___atomic_compare_exchange_8_02a mov %eax,(%esi) mov %edx,0x4(%esi) .L___atomic_compare_exchange_8_02a: pop %ebx mov %ecx,%eax pop %esi pop %edi ret .size _(__atomic_compare_exchange_8), .-_(__atomic_compare_exchange_8) .global _(__atomic_test_and_set_1) .type _(__atomic_test_and_set_1), %function _(__atomic_test_and_set_1): endbr32 mov 0x4(%esp),%edx mov $0x1,%eax xchg %al,(%edx) ret .size _(__atomic_test_and_set_1), .-_(__atomic_test_and_set_1) .global _(__atomic_test_and_set_2) .type _(__atomic_test_and_set_2), %function _(__atomic_test_and_set_2): endbr32 mov 0x4(%esp),%edx mov $0x1,%eax xchg %al,(%edx) ret .size _(__atomic_test_and_set_2), .-_(__atomic_test_and_set_2) .global _(__atomic_test_and_set_4) .type _(__atomic_test_and_set_4), %function _(__atomic_test_and_set_4): endbr32 mov 0x4(%esp),%edx mov $0x1,%eax xchg %al,(%edx) ret .size _(__atomic_test_and_set_4), .-_(__atomic_test_and_set_4) .global _(__atomic_test_and_set_8) .type _(__atomic_test_and_set_8), %function _(__atomic_test_and_set_8): endbr32 mov 0x4(%esp),%edx mov $0x1,%eax xchg %al,(%edx) ret .size _(__atomic_test_and_set_8), .-_(__atomic_test_and_set_8) .global _(atomic_thread_fence) .type _(atomic_thread_fence), %function _(atomic_thread_fence): endbr32 lock orl $0x0,(%esp) ret .size _(atomic_thread_fence), .-_(atomic_thread_fence) .global _(atomic_signal_fence) .type _(atomic_signal_fence), %function _(atomic_signal_fence): endbr32 ret .size _(atomic_signal_fence), .-_(atomic_signal_fence) .global _(atomic_flag_test_and_set) .type _(atomic_flag_test_and_set), %function _(atomic_flag_test_and_set): endbr32 mov 0x4(%esp),%edx mov $0x1,%eax xchg %al,(%edx) ret .size _(atomic_flag_test_and_set), .-_(atomic_flag_test_and_set) .global _(atomic_flag_test_and_set_explicit) .type _(atomic_flag_test_and_set_explicit), %function _(atomic_flag_test_and_set_explicit): endbr32 mov 0x4(%esp),%edx mov $0x1,%eax xchg %al,(%edx) ret .size _(atomic_flag_test_and_set_explicit), .-_(atomic_flag_test_and_set_explicit) .global _(atomic_flag_clear) .type _(atomic_flag_clear), %function _(atomic_flag_clear): endbr32 mov 0x4(%esp),%edx xor %eax,%eax xchg %al,(%edx) ret .size _(atomic_flag_clear), .-_(atomic_flag_clear) .global _(atomic_flag_clear_explicit) .type _(atomic_flag_clear_explicit), %function _(atomic_flag_clear_explicit): endbr32 mov 0x4(%esp),%edx xor %eax,%eax xchg %al,(%edx) ret .size _(atomic_flag_clear_explicit), .-_(atomic_flag_clear_explicit) #endif //__i386__ /* ---------------------------------------------- */ #if defined __x86_64__ && !defined _WIN32 #define endbr64 .text .global _(__atomic_load_1) .type _(__atomic_load_1), %function _(__atomic_load_1): endbr64 movzbl (%rdi),%eax ret .size _(__atomic_load_1), .-_(__atomic_load_1) .global _(__atomic_load_2) .type _(__atomic_load_2), %function _(__atomic_load_2): endbr64 movzwl (%rdi),%eax ret .size _(__atomic_load_2), .-_(__atomic_load_2) .global _(__atomic_load_4) .type _(__atomic_load_4), %function _(__atomic_load_4): endbr64 mov (%rdi),%eax ret .size _(__atomic_load_4), .-_(__atomic_load_4) .global _(__atomic_load_8) .type _(__atomic_load_8), %function _(__atomic_load_8): endbr64 mov (%rdi),%rax ret .size _(__atomic_load_8), .-_(__atomic_load_8) .global _(__atomic_store_1) .type _(__atomic_store_1), %function _(__atomic_store_1): endbr64 xchg %sil,(%rdi) ret .size _(__atomic_store_1), .-_(__atomic_store_1) .global _(__atomic_store_2) .type _(__atomic_store_2), %function _(__atomic_store_2): endbr64 xchg %si,(%rdi) ret .size _(__atomic_store_2), .-_(__atomic_store_2) .global _(__atomic_store_4) .type _(__atomic_store_4), %function _(__atomic_store_4): endbr64 xchg %esi,(%rdi) ret .size _(__atomic_store_4), .-_(__atomic_store_4) .global _(__atomic_store_8) .type _(__atomic_store_8), %function _(__atomic_store_8): endbr64 xchg %rsi,(%rdi) ret .size _(__atomic_store_8), .-_(__atomic_store_8) .global _(__atomic_compare_exchange_1) .type _(__atomic_compare_exchange_1), %function _(__atomic_compare_exchange_1): endbr64 movzbl (%rsi),%eax lock cmpxchg %dl,(%rdi) sete %dl je .L___atomic_compare_exchange_1_012 mov %al,(%rsi) .L___atomic_compare_exchange_1_012: mov %edx,%eax ret .size _(__atomic_compare_exchange_1), .-_(__atomic_compare_exchange_1) .global _(__atomic_compare_exchange_2) .type _(__atomic_compare_exchange_2), %function _(__atomic_compare_exchange_2): endbr64 movzwl (%rsi),%eax lock cmpxchg %dx,(%rdi) sete %dl je .L___atomic_compare_exchange_2_014 mov %ax,(%rsi) .L___atomic_compare_exchange_2_014: mov %edx,%eax ret .size _(__atomic_compare_exchange_2), .-_(__atomic_compare_exchange_2) .global _(__atomic_compare_exchange_4) .type _(__atomic_compare_exchange_4), %function _(__atomic_compare_exchange_4): endbr64 mov (%rsi),%eax lock cmpxchg %edx,(%rdi) sete %dl je .L___atomic_compare_exchange_4_011 mov %eax,(%rsi) .L___atomic_compare_exchange_4_011: mov %edx,%eax ret .size _(__atomic_compare_exchange_4), .-_(__atomic_compare_exchange_4) .global _(__atomic_compare_exchange_8) .type _(__atomic_compare_exchange_8), %function _(__atomic_compare_exchange_8): endbr64 mov (%rsi),%rax lock cmpxchg %rdx,(%rdi) sete %dl je .L___atomic_compare_exchange_8_014 mov %rax,(%rsi) .L___atomic_compare_exchange_8_014: mov %edx,%eax ret .size _(__atomic_compare_exchange_8), .-_(__atomic_compare_exchange_8) .global _(__atomic_test_and_set_1) .type _(__atomic_test_and_set_1), %function _(__atomic_test_and_set_1): endbr64 mov $0x1,%eax xchg %al,(%rdi) ret .size _(__atomic_test_and_set_1), .-_(__atomic_test_and_set_1) .global _(__atomic_test_and_set_2) .type _(__atomic_test_and_set_2), %function _(__atomic_test_and_set_2): endbr64 mov $0x1,%eax xchg %al,(%rdi) ret .size _(__atomic_test_and_set_2), .-_(__atomic_test_and_set_2) .global _(__atomic_test_and_set_4) .type _(__atomic_test_and_set_4), %function _(__atomic_test_and_set_4): endbr64 mov $0x1,%eax xchg %al,(%rdi) ret .size _(__atomic_test_and_set_4), .-_(__atomic_test_and_set_4) .global _(__atomic_test_and_set_8) .type _(__atomic_test_and_set_8), %function _(__atomic_test_and_set_8): endbr64 mov $0x1,%eax xchg %al,(%rdi) ret .size _(__atomic_test_and_set_8), .-_(__atomic_test_and_set_8) .global _(atomic_thread_fence) .type _(atomic_thread_fence), %function _(atomic_thread_fence): endbr64 lock orq $0x0,(%rsp) ret .size _(atomic_thread_fence), .-_(atomic_thread_fence) .global _(atomic_signal_fence) .type _(atomic_signal_fence), %function _(atomic_signal_fence): endbr64 ret .size _(atomic_signal_fence), .-_(atomic_signal_fence) .global _(atomic_flag_test_and_set) .type _(atomic_flag_test_and_set), %function _(atomic_flag_test_and_set): endbr64 mov $0x1,%eax xchg %al,(%rdi) ret .size _(atomic_flag_test_and_set), .-_(atomic_flag_test_and_set) .global _(atomic_flag_test_and_set_explicit) .type _(atomic_flag_test_and_set_explicit), %function _(atomic_flag_test_and_set_explicit): endbr64 mov $0x1,%eax xchg %al,(%rdi) ret .size _(atomic_flag_test_and_set_explicit), .-_(atomic_flag_test_and_set_explicit) .global _(atomic_flag_clear)