summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
authorPradipta Ghosh <pradghos@in.ibm.com>2022-06-13 21:53:57 -0700
committerPradipta Ghosh <pradghos@in.ibm.com>2022-06-13 21:53:57 -0700
commitcd3e9a1d4d74cf73bc794db7a94600645c2c9da1 (patch)
tree5cf5969a5482708d2656c5376054de297cc5a69e /numpy
parentc74cdc87822f62156db3e10e3bb566d54fa41745 (diff)
downloadnumpy-cd3e9a1d4d74cf73bc794db7a94600645c2c9da1.tar.gz
Fix for npyv_orc_b8 and npyv_xnor_b8 for s390x(z13)
- Implement npyv_orc_b8 and npyv_xnor_b8 for z13. '__builtin_s390_vec_orc' and `__builtin_s390_vec_eqv` require z14 or higher.
Diffstat (limited to 'numpy')
-rw-r--r--numpy/core/src/common/simd/vec/operators.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/numpy/core/src/common/simd/vec/operators.h b/numpy/core/src/common/simd/vec/operators.h
index 637217230..190ac1297 100644
--- a/numpy/core/src/common/simd/vec/operators.h
+++ b/numpy/core/src/common/simd/vec/operators.h
@@ -144,8 +144,13 @@ NPY_FINLINE npyv_f64 npyv_not_f64(npyv_f64 a)
// ANDC, ORC and XNOR
#define npyv_andc_u8 vec_andc
#define npyv_andc_b8 vec_andc
-#define npyv_orc_b8 vec_orc
-#define npyv_xnor_b8 vec_eqv
+#ifdef NPY_HAVE_VX
+ #define npyv_orc_b8(A, B) npyv_or_b8(npyv_not_b8(B), A)
+ #define npyv_xnor_b8(A, B) npyv_not_b8(npyv_xor_b8(B, A))
+#else
+ #define npyv_orc_b8 vec_orc
+ #define npyv_xnor_b8 vec_eqv
+#endif
/***************************
* Comparison