Rasmus Munk Larsen
75bcd155c4
Vectorize tan(x)
...
libeigen/eigen!2086
Co-authored-by: Rasmus Munk Larsen <rmlarsen@google.com >
2025-12-02 21:53:10 +00:00
Rasmus Munk Larsen
23a5482fc0
Misc. packet math cleanups.
...
libeigen/eigen!2070
Co-authored-by: Rasmus Munk Larsen <rmlarsen@google.com >
2025-11-08 21:57:20 +00:00
Rasmus Munk Larsen
b6fcddccfc
Get rid of pblend packet op.
...
There was only a single code path left in TensorEvaluator using pblend. We can replace that with a call to the more general TernarySelectOp and get rid of pblend entirely from Core.
Closes #2998
See merge request libeigen/eigen!2056
Co-authored-by: Rasmus Munk Larsen <rmlarsen@google.com >
2025-11-03 23:27:50 +00:00
Rasmus Munk Larsen
ce70a507c0
Enable more generic packet ops for double.
...
See merge request libeigen/eigen!2050
2025-10-30 19:14:43 +00:00
Rasmus Munk Larsen
ece9a4c0b6
Always vectorize abs2() for non-complex types.
...
For several packet types, `abs2` was not vectorized even if it only requires `pmul`. Get rid of the confusing and redundant `HasAbs2` enum and instead check `HasMul` in addition to making sure the scalar type is not complex.
See merge request libeigen/eigen!2048
2025-10-30 02:42:56 +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
2e8cc042a1
Replace calls to numext::fma with numext:madd.
2025-08-28 21:40:19 +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
4fdf87bbf5
clean up intel packet reductions
2025-05-30 19:18:07 +00:00
Rasmus Munk Larsen
33f5f59614
Vectorize cbrt for float and double.
2025-04-17 23:31:20 +00:00
Antonio Sánchez
d79bac0d3c
Fix boolean scatter and random generation for tensors.
2025-02-25 21:37:09 +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
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
0d366f6532
Vectorize erfc(x) for double and improve erfc(x) for float.
2024-11-08 17:21:11 +00:00
Antonio Sánchez
dd4c2805d9
Fix clang6 failures.
2024-10-29 22:18:30 +00:00
Sean McBride
b6b8b54e5e
Fixed issue #2858 : removed unneeded call to _mm_setzero_si128
2024-09-24 16:29:45 +00:00
Rasmus Munk Larsen
bbdabebf44
Vectorize atanh<double>. Make atanh(x) standard compliant for |x| >= 1.
2024-08-30 17:27:55 +00:00
Rasmus Munk Larsen
32d95bb097
Add vectorized implementation of tanh<double>
2024-08-21 02:29:45 +00:00
Frédéric Chapoton
6331da95eb
fixing a lot of typos
2024-07-30 22:15:49 +00:00
Charles Schlosser
fb95e90f7f
Add truncation op
2024-04-29 23:45:49 +00:00
Charles Schlosser
5635d37f46
more pblend optimizations
2024-04-19 02:02:27 +00:00
Damiano Franzò
888fca0e2b
Simd sincos double
2024-04-15 21:12:32 +00:00
Charles Schlosser
6ad2ccea4e
Eigen pblend
2024-04-15 16:19:53 +00:00
Charles Schlosser
122befe54c
Fix "unary minus operator applied to unsigned type, result still unsigned" on MSVC and other stupid warnings
2024-04-12 19:35:04 +00:00
Antonio Sánchez
c8d368bdaf
More fixes for 32-bit.
2024-03-26 22:53:38 +00:00
Antonio Sánchez
d8aa4d6ba5
Fix another instance of Packet2l on win32.
2024-03-26 15:48:44 +00:00
Antonio Sánchez
d883932586
Fix Packet*l for 32-bit builds.
2024-03-22 17:16:42 +00:00
Rasmus Munk Larsen
126ba1a166
Add Packet2l for SSE.
2024-03-11 19:54:55 +00:00
Antonio Sánchez
7b87b21910
Fix UB in bool packetmath test.
2024-02-09 19:46:45 +00:00
Tobias Wood
f38e16c193
Apply clang-format
2023-11-29 11:12:48 +00:00
Antonio Sánchez
6e4d5d4832
Add IWYU private pragmas to internal headers.
2023-08-21 16:25:22 +00:00
Charles Schlosser
c9a14f48d9
SSE Packet4ui has pcmp, pmin, pmax
2023-04-28 20:36:08 +00:00
Charles Schlosser
2b954be663
fix typo in sse packetmath
2023-04-18 18:17:41 +00:00
Rasmus Munk Larsen
25685c90ad
Fix incorrect packet type for unsigned int version of pfirst() in MSVC workaround in PacketMath.h.
2023-04-18 17:46:23 +00:00
Pedro Gonnet
17b5b4de58
Add Packet4ui, Packet8ui, and Packet4ul to the SSE/AVX PacketMath.h headers
2023-04-17 23:33:59 +00:00
Rasmus Munk Larsen
df1049ddf4
Small packet math cleanup.
2023-04-04 16:14:32 +00:00
Rasmus Munk Larsen
ce62177b5b
Vectorize atanh & add a missing definition and unit test for atan.
2023-02-21 03:14:05 +00:00
Charles Schlosser
049a144798
Add typed logicals
2023-02-18 01:23:47 +00:00
Sean McBride
d70b4864d9
issue #2581 : review and cleanup of compiler version checks
2023-01-17 18:58:34 +00:00
Charles Schlosser
82b152dbe7
Add signbit function
2022-11-04 00:31:20 +00:00
Rasmus Munk Larsen
c475228b28
Vectorize atan() for double.
2022-10-01 01:49:30 +00:00
Rasmus Munk Larsen
7b2901e2aa
Add vectorized integer division for int32 with AVX512, AVX or SSE.
2022-09-21 00:27:23 +00:00
Rasmus Munk Larsen
f913a40678
Revert "Add AVX int32_t pdiv"
...
This reverts commit ea84e7ad63
2022-09-16 22:48:08 +00:00
Charles Schlosser
ea84e7ad63
Add AVX int32_t pdiv
2022-09-16 17:06:29 +00:00
Rasmus Munk Larsen
bd393e15c3
Vectorize acos, asin, and atan for float.
2022-08-29 19:49:33 +00:00
Charles Schlosser
e5af9f87f2
Vectorize pow for integer base / exponent types
2022-08-29 19:23:54 +00:00
Rasmus Munk Larsen
7064ed1345
Specialize psign<Packet8i> for AVX2, don't vectorize psign<bool>.
2022-08-26 17:02:37 +00:00