- 04 Jan, 2021 1 commit
-
-
Evan Nemerson authored
This allows us to to only include it from files which really need it (of which there aren't many; currently only SVML), which is important since it can pull in a lot of extra headers and dramatically increase compilation time.
-
- 02 Jan, 2021 1 commit
-
-
Michael R. Crusoe authored
Fixes #693
-
- 01 Jan, 2021 1 commit
-
-
Evan Nemerson authored
-
- 31 Dec, 2020 2 commits
-
-
Evan Nemerson authored
-
Evan Nemerson authored
For value outside of (INT32_MIN, INT32_MAX), as well as NaNs, x86 returns INT32_MIN. I added a SIMDE_FAST_CONVERSION_RANGE macro (which is defined by default if SIMDE_FAST_MATH is defined) to opt-out of the more accurate behavior since it's also substantially slower on many platforms. Fixes #685
-
- 29 Dec, 2020 5 commits
-
-
Michael R. Crusoe authored
-
Michael R. Crusoe authored
-
Michael R. Crusoe authored
-
Michael R. Crusoe authored
-
Evan Nemerson authored
-
- 28 Dec, 2020 3 commits
-
-
Evan Nemerson authored
-
Evan Nemerson authored
Fixes #682
-
Evan Nemerson authored
These are based on some StackOverflow answers linked to in this here: https://stackoverflow.com/questions/65441496/what-is-the-most-efficient-way-to-do-unsigned-64-bit-comparison-on-sse2
-
- 26 Dec, 2020 2 commits
-
-
Michael R. Crusoe authored
Oops, forgot this for the 0.6.0 release!
-
rosbif authored
Add _mm{,256}_{,mask_,mask2_,maskz_}permutex2var_epi{8,16,32,64} intrinsics to permutex2var.[ch] Add _mm{,256}_{,mask_,mask2_,maskz_}permutex2var_{pd,ps} intrinsics to permutex2var.[ch] Add AVX, SSE, NEON, Altivec and Wasm translations for most intrinsics.
-
- 24 Dec, 2020 1 commit
-
-
Michael R. Crusoe authored
* operationalize clang bug 44589 * remove unused bug references
-
- 23 Dec, 2020 3 commits
-
-
Evan Nemerson authored
This is basically the same false positive as #657. As of GCC 10 the diagnostic is no longer emitted in C mode, but it is still emitted in C++ mode, so I'm removing the version check from the ld3 code, too. Fixes #676
-
Evan Nemerson authored
-
Evan Nemerson authored
_mm_prefetch is supposed to take an int, but when optimization enabled GCC uses an enum _mm_hint instead. Without optimization _mm_prefetch is defined as a macro (as it is on clang) since there is no constant propagation. Since we can't rely on all hints being defined on all platforms we define our own, which are not part of the enum _mm_hint. So, on GCC we cast each of the hints to enum _mm_hint to avoid a warning about an invalid conversion. IMHO this is technically a bug in the GCC API, but I appreciate the effort at getting the compiler to validate the input so I'm not going to complain to the GCC folks as long as this doesn't cause additional breakage. Fixes #673
-
- 22 Dec, 2020 8 commits
-
-
Evan Nemerson authored
-
Christopher Moore authored
Add the following intrinsics to permutexvar.[ch] : - _mm_{,mask_,maskz_}permutexvar_epi{8,16} - _mm256_{,mask_,maskz_}permutexvar_epi{8,16,32,64} - _mm256_{,mask_,maskz_}permutexvar_{pd,ps} Add translations to AVX, SSE, NEON, Altivec and WASM -
Christopher Moore authored
Fixes #670
-
Evan Nemerson authored
-
Evan Nemerson authored
-
Evan Nemerson authored
This should just be slightly easier (less difficult) for compilers since they may be able to convert this to a gather operation on some architectures. I'm not going to hold my breath, though.
-
Evan Nemerson authored
Fixes #657
-
Evan Nemerson authored
Fixes #656
-
- 21 Dec, 2020 4 commits
-
-
Michael R. Crusoe authored
Remove useless for-loops Remove redundant to_private/from_private Remove redundant defined(SIMDE_ARM_NEON_A32V7_NATIVE) when we already check for SIMDE_NATURAL_VECTOR_SIZE_LE(128)
-
Hidayat Khan authored
-
Hidayat Khan authored
-
Hidayat Khan authored
-
- 10 Dec, 2020 5 commits
-
-
HIMANSHI MATHUR authored
-
Hidayat Khan authored
-
Christopher Moore authored
Add _mm512_{,mask_,mask2_,maskz_}permutex2var_epi{8,16} intrinsics to permutex2var.[ch] Add NEON translations for _mm512_permutex2var_epi{8,16,32} This could easily be done for _mm512_permutex2var_epi64 too. However it may not be faster than the portable version. There are decreasing returns as the size increases. -
Christopher Moore authored
Add _mm512_{,mask_,maskz_}permutexvar_epi{8,16} intrinsics to permutexvar.[ch] Add NEON translations for _mm512_permutexvar_epi{8,16,32} This could easily be done for _mm512_permutexvar_epi64 too. However it may not be faster than the portable version. There are decreasing returns as the size increases. -
Christopher Moore authored
Add defines for AVX512VBMI to simde-arch.h and simde-features.h
-
- 09 Dec, 2020 1 commit
-
-
Michael R. Crusoe authored
warning C4701: potentially uninitialized local variable 'r_' used
-
- 30 Nov, 2020 3 commits
-
-
Evan Nemerson authored
-
Michael R. Crusoe authored
Fixes #654
-
Evan Nemerson authored
XL C/C++ supports __builtin_shufflevector, but only when using AltiVec types, not on GCC-style vector extensions. We could add alternate implementations which use the same code but (for example) altivec_f32 instead of f32, but that introduces a lot of bloat into the code for a compiler very few use *and* rewards IBM for a stupid decision which breaks compatibility with *lots* of code.
-