Skip to content

Commit 0bb7a8f

Browse files
WIP
1 parent 35aa9e7 commit 0bb7a8f

File tree

3 files changed

+33
-46
lines changed

3 files changed

+33
-46
lines changed

.github/workflows/cross-ppc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,5 @@ jobs:
3939
run: cmake --build _build --verbose -j1
4040
- name: Testing xsimd
4141
run: |
42-
qemu-${{ matrix.target.platform }} -cpu 7400 -L /usr/${{ matrix.target.dir}}/ ./test/test_xsimd
42+
qemu-${{ matrix.target.platform }} -cpu power9 -L /usr/${{ matrix.target.dir}}/ ./test/test_xsimd
4343
working-directory: ${{ github.workspace }}/_build

include/xsimd/arch/xsimd_altivec.hpp

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,6 @@ namespace xsimd
209209
{
210210
return vec_splats(val);
211211
}
212-
#if 0
213212

214213
// store_complex
215214
namespace detail
@@ -219,28 +218,16 @@ namespace xsimd
219218
template <class A>
220219
XSIMD_INLINE batch<float, A> complex_low(batch<std::complex<float>, A> const& self, requires_arch<altivec>) noexcept
221220
{
222-
return _mm_unpacklo_ps(self.real(), self.imag());
221+
return vec_mergel(self.real().data, self.imag().data);
223222
}
224223
// complex_high
225224
template <class A>
226225
XSIMD_INLINE batch<float, A> complex_high(batch<std::complex<float>, A> const& self, requires_arch<altivec>) noexcept
227226
{
228-
return _mm_unpackhi_ps(self.real(), self.imag());
229-
}
230-
template <class A>
231-
XSIMD_INLINE batch<double, A> complex_low(batch<std::complex<double>, A> const& self, requires_arch<altivec>) noexcept
232-
{
233-
return _mm_unpacklo_pd(self.real(), self.imag());
234-
}
235-
template <class A>
236-
XSIMD_INLINE batch<double, A> complex_high(batch<std::complex<double>, A> const& self, requires_arch<altivec>) noexcept
237-
{
238-
return _mm_unpackhi_pd(self.real(), self.imag());
227+
return vec_mergeh(self.real().data, self.imag().data);
239228
}
240229
}
241230

242-
#endif
243-
244231
// decr_if
245232
template <class A, class T, class = typename std::enable_if<std::is_integral<T>::value, void>::type>
246233
XSIMD_INLINE batch<T, A> decr_if(batch<T, A> const& self, batch_bool<T, A> const& mask, requires_arch<altivec>) noexcept
@@ -956,7 +943,7 @@ namespace xsimd
956943
template <class A, class T, class = typename std::enable_if<std::is_integral<T>::value, void>::type>
957944
XSIMD_INLINE batch<T, A> zip_hi(batch<T, A> const& self, batch<T, A> const& other, requires_arch<altivec>) noexcept
958945
{
959-
return vec_merge_hi(self.data, other.data);
946+
return vec_mergeh(self.data, other.data);
960947
}
961948

962949
// zip_lo

test/CMakeLists.txt

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -131,39 +131,39 @@ set(XSIMD_TESTS
131131
main.cpp
132132
test_api.cpp
133133
test_arch.cpp
134-
test_basic_math.cpp
134+
#test_basic_math.cpp
135135
test_batch.cpp
136136
test_batch_bool.cpp
137137
test_batch_cast.cpp
138-
test_batch_complex.cpp
139-
test_batch_float.cpp
140-
test_batch_int.cpp
141-
test_bitwise_cast.cpp
142-
test_batch_constant.cpp
143-
test_batch_manip.cpp
144-
test_complex_exponential.cpp
145-
test_complex_hyperbolic.cpp
146-
test_complex_power.cpp
147-
test_complex_trigonometric.cpp
148-
test_conversion.cpp
149-
test_custom_default_arch.cpp
150-
test_error_gamma.cpp
151-
test_explicit_batch_instantiation.cpp
152-
test_exponential.cpp
153-
test_extract_pair.cpp
154-
test_fp_manipulation.cpp
155-
test_hyperbolic.cpp
156-
test_load_store.cpp
157-
test_memory.cpp
158-
test_poly_evaluation.cpp
159-
test_power.cpp
160-
test_rounding.cpp
161-
test_select.cpp
162-
test_shuffle.cpp
138+
# test_batch_complex.cpp
139+
# test_batch_float.cpp
140+
# test_batch_int.cpp
141+
# test_bitwise_cast.cpp
142+
# test_batch_constant.cpp
143+
# test_batch_manip.cpp
144+
# test_complex_exponential.cpp
145+
# test_complex_hyperbolic.cpp
146+
# test_complex_power.cpp
147+
# test_complex_trigonometric.cpp
148+
# test_conversion.cpp
149+
# test_custom_default_arch.cpp
150+
# test_error_gamma.cpp
151+
# test_explicit_batch_instantiation.cpp
152+
# test_exponential.cpp
153+
# test_extract_pair.cpp
154+
# test_fp_manipulation.cpp
155+
# test_hyperbolic.cpp
156+
# test_load_store.cpp
157+
# test_memory.cpp
158+
# test_poly_evaluation.cpp
159+
# test_power.cpp
160+
# test_rounding.cpp
161+
# test_select.cpp
162+
# test_shuffle.cpp
163163
test_sum.cpp
164-
test_traits.cpp
165-
test_trigonometric.cpp
166-
test_xsimd_api.cpp
164+
# test_traits.cpp
165+
# test_trigonometric.cpp
166+
# test_xsimd_api.cpp
167167
test_utils.hpp
168168
)
169169

0 commit comments

Comments
 (0)