Lines Matching +full:3 +full:- +full:n
1 /* SPDX-License-Identifier: GPL-2.0 */
15 "1: ldl_l %0,0(%2)\n" \
17 "2: stl_c %1,0(%2)\n" \
18 " beq %1,4f\n" \
19 " mov $31,%1\n" \
20 "3: .subsection 2\n" \
21 "4: br 1b\n" \
22 " .previous\n" \
23 EXC(1b,3b,$31,%1) \
24 EXC(2b,3b,$31,%1) \
35 return -EFAULT; in arch_futex_atomic_op_inuser()
39 __futex_atomic_op("mov %3,%1\n", ret, oldval, uaddr, oparg); in arch_futex_atomic_op_inuser()
42 __futex_atomic_op("addl %0,%3,%1\n", ret, oldval, uaddr, oparg); in arch_futex_atomic_op_inuser()
45 __futex_atomic_op("or %0,%3,%1\n", ret, oldval, uaddr, oparg); in arch_futex_atomic_op_inuser()
48 __futex_atomic_op("andnot %0,%3,%1\n", ret, oldval, uaddr, oparg); in arch_futex_atomic_op_inuser()
51 __futex_atomic_op("xor %0,%3,%1\n", ret, oldval, uaddr, oparg); in arch_futex_atomic_op_inuser()
54 ret = -ENOSYS; in arch_futex_atomic_op_inuser()
71 return -EFAULT; in futex_atomic_cmpxchg_inatomic()
75 "1: ldl_l %1,0(%3)\n" in futex_atomic_cmpxchg_inatomic()
76 " cmpeq %1,%4,%2\n" in futex_atomic_cmpxchg_inatomic()
77 " beq %2,3f\n" in futex_atomic_cmpxchg_inatomic()
78 " mov %5,%2\n" in futex_atomic_cmpxchg_inatomic()
79 "2: stl_c %2,0(%3)\n" in futex_atomic_cmpxchg_inatomic()
80 " beq %2,4f\n" in futex_atomic_cmpxchg_inatomic()
81 "3: .subsection 2\n" in futex_atomic_cmpxchg_inatomic()
82 "4: br 1b\n" in futex_atomic_cmpxchg_inatomic()
83 " .previous\n" in futex_atomic_cmpxchg_inatomic()
84 EXC(1b,3b,$31,%0) in futex_atomic_cmpxchg_inatomic()
85 EXC(2b,3b,$31,%0) in futex_atomic_cmpxchg_inatomic()