diff options
Diffstat (limited to 'gcc/internal-fn.c')
-rw-r--r-- | gcc/internal-fn.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/gcc/internal-fn.c b/gcc/internal-fn.c index afd4fd0..b24102a 100644 --- a/gcc/internal-fn.c +++ b/gcc/internal-fn.c @@ -3238,6 +3238,46 @@ expand_ATOMIC_COMPARE_EXCHANGE (internal_fn, gcall *call) expand_ifn_atomic_compare_exchange (call); } +/* Expand atomic add fetch and cmp with 0. */ + +static void +expand_ATOMIC_ADD_FETCH_CMP_0 (internal_fn, gcall *call) +{ + expand_ifn_atomic_op_fetch_cmp_0 (call); +} + +/* Expand atomic sub fetch and cmp with 0. */ + +static void +expand_ATOMIC_SUB_FETCH_CMP_0 (internal_fn, gcall *call) +{ + expand_ifn_atomic_op_fetch_cmp_0 (call); +} + +/* Expand atomic and fetch and cmp with 0. */ + +static void +expand_ATOMIC_AND_FETCH_CMP_0 (internal_fn, gcall *call) +{ + expand_ifn_atomic_op_fetch_cmp_0 (call); +} + +/* Expand atomic or fetch and cmp with 0. */ + +static void +expand_ATOMIC_OR_FETCH_CMP_0 (internal_fn, gcall *call) +{ + expand_ifn_atomic_op_fetch_cmp_0 (call); +} + +/* Expand atomic xor fetch and cmp with 0. */ + +static void +expand_ATOMIC_XOR_FETCH_CMP_0 (internal_fn, gcall *call) +{ + expand_ifn_atomic_op_fetch_cmp_0 (call); +} + /* Expand LAUNDER to assignment, lhs = arg0. */ static void |