Lines Matching +full:loongson +full:- +full:1 +full:b
1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
10 #include <asm/asm-extable.h>
17 "1: ll.w %1, %4 # __futex_atomic_op\n" \
20 " beqz $t0, 1b \n" \
22 _ASM_EXTABLE_UACCESS_ERR(1b, 3b, %0) \
23 _ASM_EXTABLE_UACCESS_ERR(2b, 3b, %0) \
42 __futex_atomic_op("add.w $t0, %1, %z5", ret, oldval, uaddr, oparg); in arch_futex_atomic_op_inuser()
45 __futex_atomic_op("or $t0, %1, %z5", ret, oldval, uaddr, oparg); in arch_futex_atomic_op_inuser()
48 __futex_atomic_op("and $t0, %1, %z5", ret, oldval, uaddr, ~oparg); in arch_futex_atomic_op_inuser()
51 __futex_atomic_op("xor $t0, %1, %z5", ret, oldval, uaddr, oparg); in arch_futex_atomic_op_inuser()
54 ret = -ENOSYS; in arch_futex_atomic_op_inuser()
72 return -EFAULT; in futex_atomic_cmpxchg_inatomic()
76 "1: ll.w %1, %3 \n" in futex_atomic_cmpxchg_inatomic()
77 " bne %1, %z4, 3f \n" in futex_atomic_cmpxchg_inatomic()
80 " beqz $t0, 1b \n" in futex_atomic_cmpxchg_inatomic()
83 _ASM_EXTABLE_UACCESS_ERR(1b, 3b, %0) in futex_atomic_cmpxchg_inatomic()
84 _ASM_EXTABLE_UACCESS_ERR(2b, 3b, %0) in futex_atomic_cmpxchg_inatomic()