Skip to content

Commit

Permalink
sse, sse2: don't use several functions missing from XL C/C++
Browse files Browse the repository at this point in the history
These are present on GCC and clang.
  • Loading branch information
nemequ committed May 20, 2020
1 parent 2547cff commit 6ee040c
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
2 changes: 1 addition & 1 deletion simde/x86/sse.h
Original file line number Diff line number Diff line change
Expand Up @@ -768,7 +768,7 @@ simde_mm_cmpneq_ps (simde__m128 a, simde__m128 b) {
r_.neon_u32 = vmvnq_u32(vceqq_f32(a_.neon_f32, b_.neon_f32));
#elif defined(SIMDE_WASM_SIMD128_NATIVE)
r_.wasm_v128 = wasm_f32x4_ne(a_.wasm_v128, b_.wasm_v128);
#elif defined(SIMDE_POWER_ALTIVEC_P9_NATIVE) && SIMDE_ARCH_POWER_CHECK(900)
#elif defined(SIMDE_POWER_ALTIVEC_P9_NATIVE) && SIMDE_ARCH_POWER_CHECK(900) && !defined(HEDLEY_IBM_VERSION)
/* vec_cmpne(vector float, vector float) is missing from XL C/C++ v16.1.1,
though the documentation (table 89 on page 432 of the IBM XL C/C++ for
Linux Compiler Reference, Version 16.1.1) shows that it should be
Expand Down
6 changes: 3 additions & 3 deletions simde/x86/sse2.h
Original file line number Diff line number Diff line change
Expand Up @@ -2343,7 +2343,7 @@ simde_mm_cvtsi128_si64 (simde__m128i a) {
#endif
#else
simde__m128i_private a_ = simde__m128i_to_private(a);
#if defined(SIMDE_POWER_ALTIVEC_P5_NATIVE)
#if defined(SIMDE_POWER_ALTIVEC_P5_NATIVE) && !defined(HEDLEY_IBM_VERSION)
return vec_extract(a_.i64, 0);
#endif
return a_.i64[0];
Expand Down Expand Up @@ -2680,7 +2680,7 @@ simde_mm_load_pd (simde_float64 const mem_addr[HEDLEY_ARRAY_PARAM(2)]) {

#if defined(SIMDE_ARM_NEON_A32V7_NATIVE)
r_.neon_u32 = vld1q_u32(HEDLEY_REINTERPRET_CAST(uint32_t const*, mem_addr));
#elif defined(SIMDE_POWER_ALTIVEC_P5_NATIVE)
#elif defined(SIMDE_POWER_ALTIVEC_P5_NATIVE) && !defined(HEDLEY_IBM_VERSION)
r_.altivec_f64 = vec_ld(0, HEDLEY_REINTERPRET_CAST(SIMDE_POWER_ALTIVEC_VECTOR(double) const*, mem_addr));
#else
r_ = *SIMDE_ALIGN_CAST(simde__m128d_private const*, mem_addr);
Expand Down Expand Up @@ -2970,7 +2970,7 @@ simde_mm_movemask_epi8 (simde__m128i a) {
hi = vpadd_u8(hi, hi);

r = ((hi[0] << 8) | (lo[0] & 0xFF));
#elif defined(SIMDE_POWER_ALTIVEC_P5_NATIVE)
#elif defined(SIMDE_POWER_ALTIVEC_P8_NATIVE) && !defined(HEDLEY_IBM_VERSION)
static const SIMDE_POWER_ALTIVEC_VECTOR(unsigned char) perm = {120, 112, 104, 96, 88, 80, 72, 64, 56, 48, 40, 32, 24, 16, 8, 0};
r = vec_extract(vec_vbpermq(a_.altivec_u8, perm), 2);
#else
Expand Down

0 comments on commit 6ee040c

Please sign in to comment.