- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Directories
- Examples

- File List
- File Members

Defines

# qatomic_s390.h File Reference

Go to the source code of this file.

## Defines
#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 | __GNU_EXTENSION
#define | __CS_LOOP(ptr, op_val, op_string, pre, post)
#define | __CS_OLD_LOOP(ptr, op_val, op_string, pre, post)

## Define Documentation

#define Q_ATOMIC_INT_REFERENCE_COUNTING_IS_ALWAYS_NATIVE

Search for all occurrences

Definition at line 49 of file qatomic_s390.h.

#define Q_ATOMIC_INT_TEST_AND_SET_IS_ALWAYS_NATIVE

Search for all occurrences

Definition at line 56 of file qatomic_s390.h.

#define Q_ATOMIC_INT_FETCH_AND_STORE_IS_ALWAYS_NATIVE

Search for all occurrences

Definition at line 63 of file qatomic_s390.h.

#define Q_ATOMIC_INT_FETCH_AND_ADD_IS_ALWAYS_NATIVE

Search for all occurrences

Definition at line 70 of file qatomic_s390.h.

#define Q_ATOMIC_POINTER_TEST_AND_SET_IS_ALWAYS_NATIVE

Search for all occurrences

Definition at line 77 of file qatomic_s390.h.

#define Q_ATOMIC_POINTER_FETCH_AND_STORE_IS_ALWAYS_NATIVE

Search for all occurrences

Definition at line 86 of file qatomic_s390.h.

#define Q_ATOMIC_POINTER_FETCH_AND_ADD_IS_ALWAYS_NATIVE

Search for all occurrences

Definition at line 95 of file qatomic_s390.h.

#define __GNU_EXTENSION

Search for all occurrences

Definition at line 107 of file qatomic_s390.h.

#define __CS_LOOP | ( |  | ptr,
|  |  | op_val,
|  |  | op_string,
|  |  | pre,
|  |  | post
| ) |  |

Search for all occurrences
Value:

    __GNU_EXTENSION ({   \
        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
| ) |  |

Search for all occurrences
Value:

    __GNU_EXTENSION ({ \
        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.