Lines Matching refs:OP
726 #define OP_CRITICAL(OP, LCK_ID) \ argument
729 (*lhs) OP(rhs); \
733 #define OP_UPDATE_CRITICAL(TYPE, OP, LCK_ID) \ argument
735 (*lhs) = (TYPE)((*lhs)OP((TYPE)rhs)); \
761 #define OP_GOMP_CRITICAL(OP, FLAG) \ argument
764 OP_CRITICAL(OP, 0); \
768 #define OP_UPDATE_GOMP_CRITICAL(TYPE, OP, FLAG) \ argument
771 OP_UPDATE_CRITICAL(TYPE, OP, 0); \
775 #define OP_GOMP_CRITICAL(OP, FLAG) argument
776 #define OP_UPDATE_GOMP_CRITICAL(TYPE, OP, FLAG) argument
790 #define OP_CMPXCHG(TYPE, BITS, OP) \ argument
794 new_value = (TYPE)(old_value OP((TYPE)rhs)); \
801 new_value = (TYPE)(old_value OP((TYPE)rhs)); \
812 #define OP_CMPXCHG_WORKAROUND(TYPE, BITS, OP) \ argument
822 new_value.cmp = (TYPE)(old_value.cmp OP rhs); \
829 new_value.cmp = (TYPE)(old_value.cmp OP rhs); \
839 #define OP_CMPXCHG(TYPE, BITS, OP) \ argument
849 new_value.cmp = old_value.cmp OP rhs; \
856 new_value.cmp = old_value.cmp OP rhs; \
861 #define OP_UPDATE_CRITICAL(TYPE, OP, LCK_ID) \ argument
863 (*lhs) = (*lhs)OP rhs; \
872 #define ATOMIC_FIXED_ADD(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, MASK, \ argument
875 OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) \
877 KMP_TEST_THEN_ADD##BITS(lhs, OP rhs); \
880 #define ATOMIC_CMPXCHG(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, MASK, \ argument
883 OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) \
884 OP_CMPXCHG(TYPE, BITS, OP) \
889 #define ATOMIC_CMPXCHG_WORKAROUND(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, \ argument
892 OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) \
893 OP_CMPXCHG_WORKAROUND(TYPE, BITS, OP) \
901 #define ATOMIC_FIXED_ADD(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, MASK, \ argument
904 OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) \
907 KMP_TEST_THEN_ADD##BITS(lhs, OP rhs); \
910 OP_UPDATE_CRITICAL(TYPE, OP, \
915 #define ATOMIC_CMPXCHG(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, MASK, \ argument
918 OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) \
920 OP_CMPXCHG(TYPE, BITS, OP) /* aligned address */ \
923 OP_UPDATE_CRITICAL(TYPE, OP, \
930 #define ATOMIC_CMPXCHG_WORKAROUND(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, \ argument
933 OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) \
935 OP_CMPXCHG(TYPE, BITS, OP) /* aligned address */ \
938 OP_UPDATE_CRITICAL(TYPE, OP, \
1079 #define ATOMIC_CRIT_L(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG) \ argument
1081 OP_GOMP_CRITICAL(= *lhs OP, GOMP_FLAG) \
1082 OP_CRITICAL(= *lhs OP, LCK_ID) \
1089 #define ATOMIC_CMPX_L(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, MASK, GOMP_FLAG) \ argument
1091 OP_GOMP_CRITICAL(= *lhs OP, GOMP_FLAG) \
1092 OP_CMPXCHG(TYPE, BITS, OP) \
1098 #define ATOMIC_CMPX_L(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, MASK, GOMP_FLAG) \
1100 OP_GOMP_CRITICAL(= *lhs OP, GOMP_FLAG) \
1102 OP_CMPXCHG(TYPE, BITS, OP) /* aligned address */ \
1105 OP_CRITICAL(= *lhs OP, LCK_ID) /* unaligned - use critical */ \
1136 #define MIN_MAX_CRITSECT(OP, LCK_ID) \ argument
1139 if (*lhs OP rhs) { /* still need actions? */ \
1146 #define GOMP_MIN_MAX_CRITSECT(OP, FLAG) \ argument
1149 MIN_MAX_CRITSECT(OP, 0); \
1153 #define GOMP_MIN_MAX_CRITSECT(OP, FLAG)
1157 #define MIN_MAX_CMPXCHG(TYPE, BITS, OP) \ argument
1163 while (old_value OP rhs && /* still need actions? */ \
1175 #define MIN_MAX_CRITICAL(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG) \ argument
1177 if (*lhs OP rhs) { /* need actions? */ \
1178 GOMP_MIN_MAX_CRITSECT(OP, GOMP_FLAG) \
1179 MIN_MAX_CRITSECT(OP, LCK_ID) \
1187 #define MIN_MAX_COMPXCHG(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, MASK, \ argument
1190 if (*lhs OP rhs) { \
1191 GOMP_MIN_MAX_CRITSECT(OP, GOMP_FLAG) \
1192 MIN_MAX_CMPXCHG(TYPE, BITS, OP) \
1199 #define MIN_MAX_COMPXCHG(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, MASK, \
1202 if (*lhs OP rhs) { \
1203 GOMP_MIN_MAX_CRITSECT(OP, GOMP_FLAG) \
1205 MIN_MAX_CMPXCHG(TYPE, BITS, OP) /* aligned address */ \
1208 MIN_MAX_CRITSECT(OP, LCK_ID) /* unaligned address */ \
1253 #define ATOMIC_CRIT_EQV(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG) \ argument
1263 #define ATOMIC_CMPX_EQV(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, MASK, \ argument
1267 OP_CMPXCHG(TYPE, BITS, OP) \
1273 #define ATOMIC_CMPX_EQV(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, MASK, \
1278 OP_CMPXCHG(TYPE, BITS, OP) /* aligned address */ \
1309 #define ATOMIC_CRITICAL(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG) \ argument
1311 OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) /* send assignment */ \
1312 OP_UPDATE_CRITICAL(TYPE, OP, LCK_ID) /* send assignment */ \
1409 #define OP_CRITICAL_REV(TYPE, OP, LCK_ID) \ argument
1412 (*lhs) = (TYPE)((rhs)OP(*lhs)); \
1417 #define OP_GOMP_CRITICAL_REV(TYPE, OP, FLAG) \ argument
1420 OP_CRITICAL_REV(TYPE, OP, 0); \
1425 #define OP_GOMP_CRITICAL_REV(TYPE, OP, FLAG)
1446 #define OP_CMPXCHG_REV(TYPE, BITS, OP) \ argument
1452 new_value = (TYPE)(rhs OP old_value); \
1460 new_value = (TYPE)(rhs OP old_value); \
1465 #define ATOMIC_CMPXCHG_REV(TYPE_ID, OP_ID, TYPE, BITS, OP, LCK_ID, GOMP_FLAG) \ argument
1467 OP_GOMP_CRITICAL_REV(TYPE, OP, GOMP_FLAG) \
1468 OP_CMPXCHG_REV(TYPE, BITS, OP) \
1554 #define ATOMIC_CRITICAL_REV(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG) \ argument
1556 OP_GOMP_CRITICAL_REV(TYPE, OP, GOMP_FLAG) \
1557 OP_CRITICAL_REV(TYPE, OP, LCK_ID) \
1629 #define ATOMIC_CRITICAL_FP(TYPE_ID, TYPE, OP_ID, OP, RTYPE_ID, RTYPE, LCK_ID, \ argument
1632 OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) /* send assignment */ \
1633 OP_UPDATE_CRITICAL(TYPE, OP, LCK_ID) /* send assignment */ \
1640 #define ATOMIC_CMPXCHG_MIX(TYPE_ID, TYPE, OP_ID, BITS, OP, RTYPE_ID, RTYPE, \ argument
1643 OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) \
1644 OP_CMPXCHG(TYPE, BITS, OP) \
1650 #define ATOMIC_CMPXCHG_MIX(TYPE_ID, TYPE, OP_ID, BITS, OP, RTYPE_ID, RTYPE, \
1653 OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) \
1655 OP_CMPXCHG(TYPE, BITS, OP) /* aligned address */ \
1658 OP_UPDATE_CRITICAL(TYPE, OP, \
1667 #define ATOMIC_CMPXCHG_REV_MIX(TYPE_ID, TYPE, OP_ID, BITS, OP, RTYPE_ID, \ argument
1670 OP_GOMP_CRITICAL_REV(TYPE, OP, GOMP_FLAG) \
1671 OP_CMPXCHG_REV(TYPE, BITS, OP) \
1673 #define ATOMIC_CRITICAL_REV_FP(TYPE_ID, TYPE, OP_ID, OP, RTYPE_ID, RTYPE, \ argument
1676 OP_GOMP_CRITICAL_REV(TYPE, OP, GOMP_FLAG) \
1677 OP_CRITICAL_REV(TYPE, OP, LCK_ID) \
1866 #define ATOMIC_CMPXCHG_CMPLX(TYPE_ID, TYPE, OP_ID, BITS, OP, RTYPE_ID, RTYPE, \ argument
1869 OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) \
1870 OP_CMPXCHG_WORKAROUND(TYPE, BITS, OP) \
1874 #define ATOMIC_CMPXCHG_CMPLX(TYPE_ID, TYPE, OP_ID, BITS, OP, RTYPE_ID, RTYPE, \
1877 OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) \
1878 OP_CMPXCHG(TYPE, BITS, OP) \
1884 #define ATOMIC_CMPXCHG_CMPLX(TYPE_ID, TYPE, OP_ID, BITS, OP, RTYPE_ID, RTYPE, \
1887 OP_UPDATE_GOMP_CRITICAL(TYPE, OP, GOMP_FLAG) \
1889 OP_CMPXCHG(TYPE, BITS, OP) /* aligned address */ \
1892 OP_UPDATE_CRITICAL(TYPE, OP, \
1934 #define OP_CMPXCHG_READ(TYPE, BITS, OP) \ argument
1958 #define OP_CRITICAL_READ(OP, LCK_ID) \ argument
1967 #define OP_GOMP_CRITICAL_READ(OP, FLAG) \ argument
1970 OP_CRITICAL_READ(OP, 0); \
1974 #define OP_GOMP_CRITICAL_READ(OP, FLAG)
1978 #define ATOMIC_FIXED_READ(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG) \ argument
1981 OP_GOMP_CRITICAL_READ(OP## =, GOMP_FLAG) \
1982 new_value = KMP_TEST_THEN_ADD##BITS(loc, OP 0); \
1986 #define ATOMIC_CMPXCHG_READ(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG) \ argument
1989 OP_GOMP_CRITICAL_READ(OP## =, GOMP_FLAG) \
1990 OP_CMPXCHG_READ(TYPE, BITS, OP) \
1998 #define ATOMIC_CRITICAL_READ(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG) \ argument
2001 OP_GOMP_CRITICAL_READ(OP## =, GOMP_FLAG) /* send assignment */ \
2002 OP_CRITICAL_READ(OP, LCK_ID) /* send assignment */ \
2012 #define OP_CRITICAL_READ_WRK(OP, LCK_ID) \ argument
2020 #define OP_GOMP_CRITICAL_READ_WRK(OP, FLAG) \ argument
2023 OP_CRITICAL_READ_WRK(OP, 0); \
2026 #define OP_GOMP_CRITICAL_READ_WRK(OP, FLAG)
2036 #define ATOMIC_CRITICAL_READ_WRK(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG) \ argument
2038 OP_GOMP_CRITICAL_READ_WRK(OP## =, GOMP_FLAG) /* send assignment */ \
2039 OP_CRITICAL_READ_WRK(OP, LCK_ID) /* send assignment */ \
2093 #define ATOMIC_XCHG_WR(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG) \ argument
2095 OP_GOMP_CRITICAL(OP, GOMP_FLAG) \
2099 #define ATOMIC_XCHG_FLOAT_WR(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG) \ argument
2101 OP_GOMP_CRITICAL(OP, GOMP_FLAG) \
2112 #define OP_CMPXCHG_WR(TYPE, BITS, OP) \ argument
2129 #define ATOMIC_CMPXCHG_WR(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG) \ argument
2131 OP_GOMP_CRITICAL(OP, GOMP_FLAG) \
2132 OP_CMPXCHG_WR(TYPE, BITS, OP) \
2141 #define ATOMIC_CRITICAL_WR(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG) \ argument
2143 OP_GOMP_CRITICAL(OP, GOMP_FLAG) /* send assignment */ \
2144 OP_CRITICAL(OP, LCK_ID) /* send assignment */ \
2214 #define OP_CRITICAL_CPT(OP, LCK_ID) \ argument
2218 (*lhs) OP rhs; \
2222 (*lhs) OP rhs; \
2228 #define OP_UPDATE_CRITICAL_CPT(TYPE, OP, LCK_ID) \ argument
2232 (*lhs) = (TYPE)((*lhs)OP rhs); \
2236 (*lhs) = (TYPE)((*lhs)OP rhs); \
2244 #define OP_GOMP_CRITICAL_CPT(TYPE, OP, FLAG) \ argument
2247 OP_UPDATE_CRITICAL_CPT(TYPE, OP, 0); \
2250 #define OP_GOMP_CRITICAL_CPT(TYPE, OP, FLAG)
2260 #define OP_CMPXCHG_CPT(TYPE, BITS, OP) \ argument
2266 new_value = (TYPE)(old_value OP rhs); \
2272 new_value = (TYPE)(old_value OP rhs); \
2281 #define ATOMIC_CMPXCHG_CPT(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG) \ argument
2285 OP_GOMP_CRITICAL_CPT(TYPE, OP, GOMP_FLAG) \
2286 OP_CMPXCHG_CPT(TYPE, BITS, OP) \
2290 #define ATOMIC_FIXED_ADD_CPT(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG) \ argument
2294 OP_GOMP_CRITICAL_CPT(TYPE, OP, GOMP_FLAG) \
2296 old_value = KMP_TEST_THEN_ADD##BITS(lhs, OP rhs); \
2298 return old_value OP rhs; \
2441 #define ATOMIC_CMPXCHG_CPT_MIX(TYPE_ID, TYPE, OP_ID, BITS, OP, RTYPE_ID, \ argument
2445 OP_GOMP_CRITICAL_CPT(TYPE, OP, GOMP_FLAG) \
2446 OP_CMPXCHG_CPT(TYPE, BITS, OP) \
2450 #define ATOMIC_CRITICAL_CPT_MIX(TYPE_ID, TYPE, OP_ID, OP, RTYPE_ID, RTYPE, \ argument
2454 OP_GOMP_CRITICAL_CPT(TYPE, OP, GOMP_FLAG) /* send assignment */ \
2455 OP_UPDATE_CRITICAL_CPT(TYPE, OP, LCK_ID) /* send assignment */ \
2564 #define OP_CRITICAL_L_CPT(OP, LCK_ID) \ argument
2568 new_value OP rhs; \
2572 (*lhs) OP rhs; \
2579 #define OP_GOMP_CRITICAL_L_CPT(OP, FLAG) \ argument
2582 OP_CRITICAL_L_CPT(OP, 0); \
2586 #define OP_GOMP_CRITICAL_L_CPT(OP, FLAG)
2591 #define ATOMIC_CMPX_L_CPT(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG) \ argument
2595 OP_GOMP_CRITICAL_L_CPT(= *lhs OP, GOMP_FLAG) \
2596 OP_CMPXCHG_CPT(TYPE, BITS, OP) \
2625 #define MIN_MAX_CRITSECT_CPT(OP, LCK_ID) \ argument
2628 if (*lhs OP rhs) { /* still need actions? */ \
2643 #define GOMP_MIN_MAX_CRITSECT_CPT(OP, FLAG) \ argument
2646 MIN_MAX_CRITSECT_CPT(OP, 0); \
2649 #define GOMP_MIN_MAX_CRITSECT_CPT(OP, FLAG)
2653 #define MIN_MAX_CMPXCHG_CPT(TYPE, BITS, OP) \ argument
2659 while (old_value OP rhs && /* still need actions? */ \
2675 #define MIN_MAX_CRITICAL_CPT(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG) \ argument
2678 if (*lhs OP rhs) { /* need actions? */ \
2679 GOMP_MIN_MAX_CRITSECT_CPT(OP, GOMP_FLAG) \
2680 MIN_MAX_CRITSECT_CPT(OP, LCK_ID) \
2685 #define MIN_MAX_COMPXCHG_CPT(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG) \ argument
2689 if (*lhs OP rhs) { \
2690 GOMP_MIN_MAX_CRITSECT_CPT(OP, GOMP_FLAG) \
2691 MIN_MAX_CMPXCHG_CPT(TYPE, BITS, OP) \
2735 #define OP_GOMP_CRITICAL_EQV_CPT(OP, FLAG) \ argument
2738 OP_CRITICAL_CPT(OP, 0); \
2741 #define OP_GOMP_CRITICAL_EQV_CPT(OP, FLAG)
2744 #define ATOMIC_CMPX_EQV_CPT(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG) \ argument
2749 OP_CMPXCHG_CPT(TYPE, BITS, OP) \
2777 #define ATOMIC_CRITICAL_CPT(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG) \ argument
2780 OP_GOMP_CRITICAL_CPT(TYPE, OP, GOMP_FLAG) /* send assignment */ \
2781 OP_UPDATE_CRITICAL_CPT(TYPE, OP, LCK_ID) /* send assignment */ \
2787 #define OP_CRITICAL_CPT_WRK(OP, LCK_ID) \ argument
2791 (*lhs) OP rhs; \
2795 (*lhs) OP rhs; \
2803 #define OP_GOMP_CRITICAL_CPT_WRK(OP, FLAG) \ argument
2806 OP_CRITICAL_CPT_WRK(OP## =, 0); \
2809 #define OP_GOMP_CRITICAL_CPT_WRK(OP, FLAG)
2820 #define ATOMIC_CRITICAL_CPT_WRK(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG) \ argument
2822 OP_GOMP_CRITICAL_CPT_WRK(OP, GOMP_FLAG) \
2823 OP_CRITICAL_CPT_WRK(OP## =, LCK_ID) \
2918 #define OP_CRITICAL_CPT_REV(TYPE, OP, LCK_ID) \ argument
2923 (*lhs) = (TYPE)((rhs)OP(*lhs)); \
2927 (*lhs) = (TYPE)((rhs)OP(*lhs)); \
2934 #define OP_GOMP_CRITICAL_CPT_REV(TYPE, OP, FLAG) \ argument
2937 OP_CRITICAL_CPT_REV(TYPE, OP, 0); \
2940 #define OP_GOMP_CRITICAL_CPT_REV(TYPE, OP, FLAG)
2950 #define OP_CMPXCHG_CPT_REV(TYPE, BITS, OP) \ argument
2956 new_value = (TYPE)(rhs OP old_value); \
2962 new_value = (TYPE)(rhs OP old_value); \
2971 #define ATOMIC_CMPXCHG_CPT_REV(TYPE_ID, OP_ID, TYPE, BITS, OP, GOMP_FLAG) \ argument
2975 OP_GOMP_CRITICAL_CPT_REV(TYPE, OP, GOMP_FLAG) \
2976 OP_CMPXCHG_CPT_REV(TYPE, BITS, OP) \
3043 #define ATOMIC_CRITICAL_CPT_REV(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, GOMP_FLAG) \ argument
3047 OP_GOMP_CRITICAL_CPT_REV(TYPE, OP, GOMP_FLAG) \
3048 OP_CRITICAL_CPT_REV(TYPE, OP, LCK_ID) \
3076 #define OP_CRITICAL_CPT_REV_WRK(OP, LCK_ID) \ argument
3080 (*lhs) = (rhs)OP(*lhs); \
3084 (*lhs) = (rhs)OP(*lhs); \
3092 #define OP_GOMP_CRITICAL_CPT_REV_WRK(OP, FLAG) \ argument
3095 OP_CRITICAL_CPT_REV_WRK(OP, 0); \
3098 #define OP_GOMP_CRITICAL_CPT_REV_WRK(OP, FLAG)
3102 #define ATOMIC_CRITICAL_CPT_REV_WRK(TYPE_ID, OP_ID, TYPE, OP, LCK_ID, \ argument
3105 OP_GOMP_CRITICAL_CPT_REV_WRK(OP, GOMP_FLAG) \
3106 OP_CRITICAL_CPT_REV_WRK(OP, LCK_ID) \
3147 #define ATOMIC_CMPXCHG_CPT_REV_MIX(TYPE_ID, TYPE, OP_ID, BITS, OP, RTYPE_ID, \ argument
3151 OP_GOMP_CRITICAL_CPT_REV(TYPE, OP, GOMP_FLAG) \
3152 OP_CMPXCHG_CPT_REV(TYPE, BITS, OP) \
3156 #define ATOMIC_CRITICAL_CPT_REV_MIX(TYPE_ID, TYPE, OP_ID, OP, RTYPE_ID, RTYPE, \ argument
3160 OP_GOMP_CRITICAL_CPT_REV(TYPE, OP, GOMP_FLAG) /* send assignment */ \
3161 OP_CRITICAL_CPT_REV(TYPE, OP, LCK_ID) /* send assignment */ \