Antonio Sánchez
8e60d4173c
Support AVX for i686.
...
<!--
Thanks for contributing a merge request!
We recommend that first-time contributors read our [contribution guidelines](https://eigen.tuxfamily.org/index.php?title=Contributing_to_Eigen ).
Before submitting the MR, please complete the following checks:
- Create one PR per feature or bugfix,
- Run the test suite to verify your changes.
See our [test guidelines](https://eigen.tuxfamily.org/index.php?title=Tests ).
- Add tests to cover the bug addressed or any new feature.
- Document new features. If it is a substantial change, add it to the [Changelog](https://gitlab.com/libeigen/eigen/-/blob/master/CHANGELOG.md ).
- Leave the following box checked when submitting: `Allow commits from members who can merge to the target branch`.
This allows us to rebase and merge your change.
Note that we are a team of volunteers; we appreciate your patience during the review process.
-->
### Description
<!--Please explain your changes.-->
Support AVX for i686.
There was an existing work-around for windows. Added the more generic
architecture comparison to also apply for linux.
### Reference issue
<!--
You can link to a specific issue using the gitlab syntax #<issue number>.
If the MR fixes an issue, write "Fixes #<issue number>" to have the issue automatically closed on merge.
-->
Fixes #2991 .
Closes #2991
See merge request libeigen/eigen!2037
2025-10-20 21:47:42 +00:00
Rasmus Munk Larsen
565db1c603
Optimize ApplyOnTheRight for Jacobi rotations when FMA is available
2025-10-12 00:04:19 +00:00
Charles Schlosser
5996176b88
Fix alignment bug in avx pcast<Packet4l, Packet4d>
2025-10-09 02:50:42 +00:00
Laurenz
4bd382df56
Fix SSE PacketMath Compilation Error on QNX
2025-10-08 17:13:16 +00:00
Rasmus Munk Larsen
2d170aea11
Define pcmp_le generically in terms of pcmp_eq and pcmp_lt.
2025-09-23 14:34:57 +00:00
Sergiu Deitsch
ea869e183b
Add missing bool SSE2 PacketMath comparison
2025-09-22 21:28:45 +02:00
Antonio Sánchez
7f0cb638c5
Specialize numext::madd for half/bfloat16.
2025-08-29 18:11:25 +00:00
Antonio Sánchez
2e8cc042a1
Replace calls to numext::fma with numext:madd.
2025-08-28 21:40:19 +00:00
Aleksei Nikiforov
c487a4fe9e
Clean up most of testsuite on s390x
2025-08-15 20:04:25 +00:00
Cheng Wang
1c0048a08c
Fix inconsistency between ptrue and pcmp_* in HVX
2025-08-09 19:32:30 +00:00
Rasmus Munk Larsen
4be7e6b4e0
Fix pcmp_* for HVX to comply with the new definition of true = Scalar(1)
2025-08-04 20:56:24 +00:00
Rasmus Munk Larsen
97c7cc6200
Explicitly use the packet trait HasPow to control whether Pow is vectorized.
2025-07-18 21:51:42 +00:00
Charles Schlosser
302fc46bc3
arm packet alignment requirements and aligned loads/stores
2025-07-15 23:49:04 +00:00
Antonio Sánchez
26616fe5b8
Fix VSX packetmath psin and pcast tests.
2025-06-27 04:08:20 +00:00
Antonio Sánchez
a395ee162d
Fix a collection of random failures encountered when testing with Bazel.
2025-06-26 16:58:24 +00:00
Antonio Sánchez
db8bd5b825
Modify pselect and various masks to use Scalar(1) for true.
2025-06-20 22:40:46 +00:00
Charles Schlosser
bcce88c99e
Faster emulated half comparisons
2025-06-17 17:05:58 +00:00
Charles Schlosser
d228bcdf8f
Fix neon compilation bug
2025-06-10 21:52:01 +00:00
Charles Schlosser
994f3d107a
Fix neon packet math tests, add missing neon intrinsics
2025-06-09 17:13:31 +00:00
Charles Schlosser
21e89b930c
Enable default behavior for pmin<PropagateFast>, predux_min, etc
2025-06-02 17:23:37 +00:00
Charles Schlosser
4fdf87bbf5
clean up intel packet reductions
2025-05-30 19:18:07 +00:00
Tyler Veness
619be0deb6
Replace instances of EIGEN_NOEXCEPT macros
2025-04-22 00:58:47 +00:00
Rasmus Munk Larsen
66d8111ac1
Use a more conservative method to detect non-finite inputs to cbrt.
2025-04-21 20:59:46 +00:00
Tyler Veness
d6689a15d7
Replace instances of EIGEN_CONSTEXPR macro
2025-04-18 08:27:52 -07:00
Rasmus Munk Larsen
33f5f59614
Vectorize cbrt for float and double.
2025-04-17 23:31:20 +00:00
Charles Schlosser
28c3b26d53
masked load/store framework
2025-04-12 00:31:10 +00:00
Antonio Sánchez
02d9e1138a
Add missing pmadd for Packet16bf.
2025-03-31 04:17:17 +00:00
Rasmus Munk Larsen
63a40ffb95
Use fma<float> for fma<half> and fma<bfloat16> if native fma is not available on the platform.
2025-03-28 04:26:04 +00:00
Antonio Sanchez
8e32cbf7da
Reduce flakiness of test for Eigen::half.
2025-03-23 22:31:25 -07:00
Antonio Sánchez
d935916ac6
Add numext::fma and missing pmadd implementations.
2025-03-23 01:05:53 +00:00
Antonio Sánchez
70f2aead9a
Use native _Float16 for AVX512FP16 and update vectorization.
2025-03-19 19:55:26 +00:00
Charles Schlosser
10e62ccd22
Fix x86 complex vectorized fma
2025-03-12 17:06:32 +00:00
Antonio Sánchez
d79bac0d3c
Fix boolean scatter and random generation for tensors.
2025-02-25 21:37:09 +00:00
C. Antonio Sanchez
1d8b82b074
Fix power builds for no VSX and no POWER8.
2025-02-15 13:56:47 -08:00
Antonio Sánchez
6b4881ad48
Eliminate type-punning UB in Eigen::half.
2025-02-12 21:12:33 +00:00
Antonio Sanchez
74264c391a
Add missing return statements for ppc.
2025-02-05 08:12:27 -08:00
Antonio Sánchez
b1e74b1ccd
Fix all the doxygen warnings.
2025-02-01 00:00:31 +00:00
Pengzhou0810
e986838464
Add LoongArch64 architecture LSX support.(build/test )
2025-01-20 18:37:44 +00:00
Rasmus Munk Larsen
f19a6803c8
Refactor special case handling in pow(x,y) and revert to repeated squaring for <float,int>
2024-11-27 00:24:21 +00:00
Rasmus Munk Larsen
1ea61a5d26
Improve pow(x,y): 25% speedup, increase accuracy for integer exponents.
2024-11-26 06:13:48 +00:00
Rasmus Munk Larsen
5610a13b77
Simplify and speed up pow() by 5-6%
2024-11-20 12:45:00 +00:00
Rasmus Munk Larsen
6c6ce9d06b
Enable vectorized erf<double>(x) for SSE and AVX, which was accidentally removed in merge request 1750.
2024-11-19 22:14:29 +00:00
Rasmus Munk Larsen
e7c799b7c9
Prevent premature overflow to infinity in exp(x). The changes also provide a 3-4% speedup.
2024-11-19 13:08:18 -08:00
Rasmus Munk Larsen
8ee6f8475a
Speed up exp(x).
2024-11-19 17:50:34 +00:00
Rasmus Munk Larsen
5133c836c0
Vectorize erf(x) for double.
2024-11-16 19:05:16 +00:00
Rasmus Munk Larsen
283d871a3f
Add missing EIGEN_DEVICE_FUNCTION decorations.
2024-11-08 14:25:57 -08:00
Rasmus Munk Larsen
0d366f6532
Vectorize erfc(x) for double and improve erfc(x) for float.
2024-11-08 17:21:11 +00:00
Charles Schlosser
8adf43640e
more avx predux_any
2024-11-07 19:58:48 +00:00
Charles Schlosser
bc424f617a
add missing avx predux_any functions
2024-11-07 19:11:29 +00:00
Antonio Sánchez
dd4c2805d9
Fix clang6 failures.
2024-10-29 22:18:30 +00:00