@@ -3148,7 +3148,7 @@ template <native::lsc::atomic_op Op, typename T, int N, typename Toffset,
3148
3148
typename AccessorTy>
3149
3149
__ESIMD_API std::enable_if_t <std::is_integral_v<Toffset> &&
3150
3150
__ESIMD_DNS::get_num_args<Op>() == 0 &&
3151
- !std::is_pointer_v <AccessorTy>,
3151
+ __ESIMD_DNS::is_rw_accessor_v <AccessorTy>,
3152
3152
simd<T, N>>
3153
3153
atomic_update (AccessorTy acc, simd<Toffset, N> offset, simd_mask<N> mask) {
3154
3154
return __ESIMD_ENS::lsc_atomic_update<detail::to_atomic_op<Op>(), T, N>(
@@ -3158,7 +3158,7 @@ atomic_update(AccessorTy acc, simd<Toffset, N> offset, simd_mask<N> mask) {
3158
3158
template <native::lsc::atomic_op Op, typename T, int N, typename OffsetObjT,
3159
3159
typename RegionTy, typename AccessorTy>
3160
3160
__ESIMD_API std::enable_if_t <__ESIMD_DNS::get_num_args<Op>() == 0 &&
3161
- !std::is_pointer_v <AccessorTy>,
3161
+ __ESIMD_DNS::is_rw_accessor_v <AccessorTy>,
3162
3162
simd<T, N>>
3163
3163
atomic_update (AccessorTy acc, simd_view<OffsetObjT, RegionTy> offsets,
3164
3164
simd_mask<N> mask) {
@@ -3170,7 +3170,7 @@ template <native::lsc::atomic_op Op, typename T, int N, typename Toffset,
3170
3170
typename AccessorTy>
3171
3171
__ESIMD_API std::enable_if_t <std::is_integral_v<Toffset> &&
3172
3172
__ESIMD_DNS::get_num_args<Op>() == 0 &&
3173
- !std::is_pointer_v <AccessorTy>,
3173
+ __ESIMD_DNS::is_rw_accessor_v <AccessorTy>,
3174
3174
simd<T, N>>
3175
3175
atomic_update (AccessorTy acc, Toffset offset, simd_mask<N> mask) {
3176
3176
return __ESIMD_ENS::lsc_atomic_update<detail::to_atomic_op<Op>(), T, N>(
@@ -3182,7 +3182,7 @@ template <native::lsc::atomic_op Op, typename T, int N, typename Toffset,
3182
3182
typename AccessorTy>
3183
3183
__ESIMD_API std::enable_if_t <std::is_integral_v<Toffset> &&
3184
3184
__ESIMD_DNS::get_num_args<Op>() == 1 &&
3185
- !std::is_pointer_v <AccessorTy>,
3185
+ __ESIMD_DNS::is_rw_accessor_v <AccessorTy>,
3186
3186
simd<T, N>>
3187
3187
atomic_update (AccessorTy acc, simd<Toffset, N> offset, simd<T, N> src0,
3188
3188
simd_mask<N> mask) {
@@ -3192,9 +3192,9 @@ atomic_update(AccessorTy acc, simd<Toffset, N> offset, simd<T, N> src0,
3192
3192
3193
3193
template <native::lsc::atomic_op Op, typename T, int N, typename OffsetObjT,
3194
3194
typename RegionTy, typename AccessorTy>
3195
- __ESIMD_API __ESIMD_API std::enable_if_t <__ESIMD_DNS::get_num_args<Op>() == 1 &&
3196
- !std::is_pointer_v <AccessorTy>,
3197
- simd<T, N>>
3195
+ __ESIMD_API std::enable_if_t <__ESIMD_DNS::get_num_args<Op>() == 1 &&
3196
+ __ESIMD_DNS::is_rw_accessor_v <AccessorTy>,
3197
+ simd<T, N>>
3198
3198
atomic_update (AccessorTy acc, simd_view<OffsetObjT, RegionTy> offsets,
3199
3199
simd<T, N> src0, simd_mask<N> mask) {
3200
3200
return __ESIMD_ENS::lsc_atomic_update<detail::to_atomic_op<Op>(), T, N>(
@@ -3205,7 +3205,7 @@ template <native::lsc::atomic_op Op, typename T, int N, typename Toffset,
3205
3205
typename AccessorTy>
3206
3206
__ESIMD_API std::enable_if_t <std::is_integral_v<Toffset> &&
3207
3207
__ESIMD_DNS::get_num_args<Op>() == 1 &&
3208
- !std::is_pointer_v <AccessorTy>,
3208
+ __ESIMD_DNS::is_rw_accessor_v <AccessorTy>,
3209
3209
simd<T, N>>
3210
3210
atomic_update (AccessorTy acc, Toffset offset, simd<T, N> src0,
3211
3211
simd_mask<N> mask) {
@@ -3218,7 +3218,7 @@ template <native::lsc::atomic_op Op, typename T, int N, typename Toffset,
3218
3218
typename AccessorTy>
3219
3219
__ESIMD_API std::enable_if_t <std::is_integral_v<Toffset> &&
3220
3220
__ESIMD_DNS::get_num_args<Op>() == 2 &&
3221
- !std::is_pointer_v <AccessorTy>,
3221
+ __ESIMD_DNS::is_rw_accessor_v <AccessorTy>,
3222
3222
simd<T, N>>
3223
3223
atomic_update (AccessorTy acc, simd<Toffset, N> offset, simd<T, N> src0,
3224
3224
simd<T, N> src1, simd_mask<N> mask) {
@@ -3232,7 +3232,7 @@ atomic_update(AccessorTy acc, simd<Toffset, N> offset, simd<T, N> src0,
3232
3232
template <native::lsc::atomic_op Op, typename T, int N, typename OffsetObjT,
3233
3233
typename RegionTy, typename AccessorTy>
3234
3234
__ESIMD_API std::enable_if_t <__ESIMD_DNS::get_num_args<Op>() == 2 &&
3235
- !std::is_pointer_v <AccessorTy>,
3235
+ __ESIMD_DNS::is_rw_accessor_v <AccessorTy>,
3236
3236
simd<T, N>>
3237
3237
atomic_update (AccessorTy acc, simd_view<OffsetObjT, RegionTy> offsets,
3238
3238
simd<T, N> src0, simd<T, N> src1, simd_mask<N> mask) {
@@ -3244,7 +3244,7 @@ template <native::lsc::atomic_op Op, typename T, int N, typename Toffset,
3244
3244
typename AccessorTy>
3245
3245
__ESIMD_API std::enable_if_t <std::is_integral_v<Toffset> &&
3246
3246
__ESIMD_DNS::get_num_args<Op>() == 2 &&
3247
- !std::is_pointer_v <AccessorTy>,
3247
+ __ESIMD_DNS::is_rw_accessor_v <AccessorTy>,
3248
3248
__ESIMD_NS::simd<T, N>>
3249
3249
atomic_update (AccessorTy acc, Toffset offset, simd<T, N> src0, simd<T, N> src1,
3250
3250
simd_mask<N> mask) {
0 commit comments