QtCore/qatomic_s390.h File Reference
#define Q_ATOMIC_INT_REFERENCE_COUNTING_IS_ALWAYS_NATIVE |
#define Q_ATOMIC_INT_TEST_AND_SET_IS_ALWAYS_NATIVE |
#define Q_ATOMIC_INT_FETCH_AND_STORE_IS_ALWAYS_NATIVE |
#define Q_ATOMIC_INT_FETCH_AND_ADD_IS_ALWAYS_NATIVE |
#define Q_ATOMIC_POINTER_TEST_AND_SET_IS_ALWAYS_NATIVE |
#define Q_ATOMIC_POINTER_FETCH_AND_STORE_IS_ALWAYS_NATIVE |
#define Q_ATOMIC_POINTER_FETCH_AND_ADD_IS_ALWAYS_NATIVE |
#define __CS_LOOP |
( |
|
ptr, |
|
|
|
op_val, |
|
|
|
op_string, |
|
|
|
pre, |
|
|
|
post |
|
) |
| |
Value:
volatile int old_val, new_val; \
__asm__ __volatile__(pre \
" l %0,0(%3)\n" \
"0: lr %1,%0\n" \
op_string " %1,%4\n" \
" cs %0,%1,0(%3)\n" \
" jl 0b\n" \
post \
: "=&d" (old_val), "=&d" (new_val), \
"=m" (*ptr) \
: "a" (ptr), "d" (op_val), \
"m" (*ptr) \
: "cc", "memory" ); \
new_val; \
})
Definition at line 110 of file qatomic_s390.h.
#define __CS_OLD_LOOP |
( |
|
ptr, |
|
|
|
op_val, |
|
|
|
op_string, |
|
|
|
pre, |
|
|
|
post |
|
) |
| |
Value:
volatile int old_val, new_val; \
__asm__ __volatile__(pre \
" l %0,0(%3)\n" \
"0: lr %1,%0\n" \
op_string " %1,%4\n" \
" cs %0,%1,0(%3)\n" \
" jl 0b\n" \
post \
: "=&d" (old_val), "=&d" (new_val), \
"=m" (*ptr) \
: "a" (ptr), "d" (op_val), \
"m" (*ptr) \
: "cc", "memory" ); \
old_val; \
})
Definition at line 127 of file qatomic_s390.h.
Go to the source code of this file.