@@ -202,31 +202,6 @@ class simd_view_impl {
202
202
}
203
203
204
204
#define DEF_BINOP (BINOP, OPASSIGN ) \
205
- template <class T1 = Derived, class = std::enable_if_t <T1::length != 1 >> \
206
- ESIMD_INLINE friend auto operator BINOP (const Derived &X, \
207
- const value_type &Y) { \
208
- using ComputeTy = detail::compute_type_t <value_type>; \
209
- auto V0 = \
210
- detail::convert<typename ComputeTy::vector_type>(X.read ().data ()); \
211
- auto V1 = detail::convert<typename ComputeTy::vector_type>(Y.data ()); \
212
- auto V2 = V0 BINOP V1; \
213
- return ComputeTy (V2); \
214
- } \
215
- template <class T1 = Derived, class = std::enable_if_t <T1::length != 1 >> \
216
- ESIMD_INLINE friend auto operator BINOP (const Derived &X, \
217
- const element_type &Y) { \
218
- return X BINOP (value_type) Y; \
219
- } \
220
- template <class T1 = Derived, class = std::enable_if_t <T1::length != 1 >> \
221
- ESIMD_INLINE friend auto operator BINOP (const value_type &X, \
222
- const Derived &Y) { \
223
- using ComputeTy = detail::compute_type_t <value_type>; \
224
- auto V0 = detail::convert<typename ComputeTy::vector_type>(X.data ()); \
225
- auto V1 = \
226
- detail::convert<typename ComputeTy::vector_type>(Y.read ().data ()); \
227
- auto V2 = V0 BINOP V1; \
228
- return ComputeTy (V2); \
229
- } \
230
205
ESIMD_INLINE friend auto operator BINOP (const Derived &X, \
231
206
const Derived &Y) { \
232
207
return (X BINOP Y.read ()); \
@@ -253,25 +228,6 @@ class simd_view_impl {
253
228
#undef DEF_BINOP
254
229
255
230
#define DEF_BITWISE_OP (BITWISE_OP, OPASSIGN ) \
256
- template <class T1 = Derived, class = std::enable_if_t <T1::length != 1 >> \
257
- ESIMD_INLINE friend auto operator BITWISE_OP (const Derived &X, \
258
- const value_type &Y) { \
259
- static_assert (std::is_integral<element_type>(), " not integral type" ); \
260
- auto V2 = X.read ().data () BITWISE_OP Y.data (); \
261
- return simd<element_type, length>(V2); \
262
- } \
263
- template <class T1 = Derived, class = std::enable_if_t <T1::length != 1 >> \
264
- ESIMD_INLINE friend auto operator BITWISE_OP (const Derived &X, \
265
- const element_type &Y) { \
266
- return X BITWISE_OP (value_type) Y; \
267
- } \
268
- template <class T1 = Derived, class = std::enable_if_t <T1::length != 1 >> \
269
- ESIMD_INLINE friend auto operator BITWISE_OP (const value_type &X, \
270
- const Derived &Y) { \
271
- static_assert (std::is_integral<element_type>(), " not integral type" ); \
272
- auto V2 = X.data () BITWISE_OP Y.read ().data (); \
273
- return simd<element_type, length>(V2); \
274
- } \
275
231
ESIMD_INLINE friend auto operator BITWISE_OP (const Derived &X, \
276
232
const Derived &Y) { \
277
233
return (X BITWISE_OP Y.read ()); \
0 commit comments