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
5527e78a64
Add missing x86 pcasts
2023-07-28 23:41:38 +00:00
Kevin Leonardic
d4b05454a7
Fix argument for _mm256_cvtps_ph imm parameter
2023-07-03 13:44:20 +02:00
Charles Schlosser
969c31eefc
Fix AVX pstore
2023-06-15 01:47:38 +00:00
Charles Schlosser
59b3ef5409
Partially Vectorize Cast
2023-06-09 16:54:31 +00:00
Antonio Sánchez
2d0c6ad873
Revert "Vectorize cast"
...
This reverts commit eb5ff1861a
2023-04-26 18:03:36 +00:00
Charles Schlosser
8999525c29
AVX2: Packet4ul has pmul, abs2
2023-04-26 16:22:16 +00:00
Charles Schlosser
eb5ff1861a
Vectorize cast
2023-04-26 02:50:13 +00:00
Charles Schlosser
f6cf5dca80
Packet4ul does not have Abs2
2023-04-21 19:48:01 +00:00
Charles Schlosser
29c8e3c754
fix pow for uint32_t, disable pmul<Packet4ul>
2023-04-21 05:47:56 +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
c730290fa0
Use the correct truncating intrinsic for double->int casting.
2023-04-03 13:56:41 -07:00
Rasmus Munk Larsen
b8b8a26145
Add more missing vectorized casts for int on x86, and remove redundant unit tests
2023-03-24 16:02:00 +00:00
Rasmus Munk Larsen
d57a79e512
Optimize float->bool cast for AVX2, based on Charles Schlosser's comments.
2023-03-21 20:59:25 -07:00
Rasmus Munk Larsen
a5ae832773
Fix reversal of arguments to _mm256_set_m128() in pcast<Packet4d, Packet8f>.
2023-03-22 03:21:44 +00:00
Rasmus Munk Larsen
09945f2cc1
Optimize casting for x86_64.
2023-03-21 18:24:16 +00:00
Rasmus Munk Larsen
0488b708b4
Vectorize tensor.isnan() by using typed predicates.
2023-03-16 04:04:22 +00:00
Antonio Sánchez
394aabb0a3
Fix failing MSVC tests due to compiler bugs.
2023-03-10 22:36:57 +00:00
Rasmus Munk Larsen
d6235d76db
Clean up generic packetmath specializations for various backends with the help of a macro.
2023-03-10 22:02:23 +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
Sean McBride
d70b4864d9
issue #2581 : review and cleanup of compiler version checks
2023-01-17 18:58:34 +00:00
Charles Schlosser
02805bd56c
Fix AVX2 psignbit
2022-11-16 13:43:11 +00:00
Antonio Sánchez
8588d8c74b
Correct pnegate for floating-point zero.
2022-11-15 18:07:23 +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
Rasmus Munk Larsen
1a09defce7
Protect new pblend implementation with EIGEN_VECTORIZE_AVX2
2022-08-22 18:28:03 +00:00
Matthew Sterrett
7a3b667c43
Add support for AVX512-FP16 for vectorizing half precision math
2022-08-17 18:15:21 +00:00
Ilya Tokar
e618c4a5e9
Improve pblend AVX implementation
2022-07-29 18:45:33 +00:00
Shi, Brian
fc1d888415
Remove AVX512VL dependency in trsm
2022-04-14 12:44:24 -07:00
Antonio Sánchez
07db964bde
Restrict new AVX512 trsm to AVX512VL, rename files for consistency.
2022-04-14 16:58:32 +00:00
b-shi
518fc321cb
AVX512 Optimizations for Triangular Solve
2022-03-16 18:04:50 +00:00
Sean McBride
f1b9692d63
Removed EIGEN_UNUSED decorations from many functions that are in fact used
2022-03-03 20:19:33 +00:00
Antonio Sánchez
9c07e201ff
Modified sqrt/rsqrt for denormal handling.
2022-03-02 17:20:47 +00:00
Rasmus Munk Larsen
8b875dbef1
Changes to fast SQRT/RSQRT
2022-02-23 17:32:21 +00:00
Erik Schultheis
7197b577fb
Remove unused macros in AVX packetmath.
...
The following macros are removed:
* EIGEN_DECLARE_CONST_Packet8f
* EIGEN_DECLARE_CONST_Packet4d
* EIGEN_DECLARE_CONST_Packet8f_FROM_INT
* EIGEN_DECLARE_CONST_Packet8i
2022-02-14 10:34:23 +00:00
Rasmus Munk Larsen
979fdd58a4
Add generic fast psqrt and prsqrt impls and make them correct for 0, +Inf, NaN, and negative arguments.
2022-02-05 00:20:13 +00:00
Rasmus Munk Larsen
51311ec651
Remove inline assembly for FMA (AVX) and add remaining extensions as packet ops: pmsub, pnmadd, and pnmsub.
2022-01-26 04:25:41 +00:00
Rasmus Munk Larsen
ea2c02060c
Add reciprocal packet op and fast specializations for float with SSE, AVX, and AVX512.
2022-01-21 23:49:18 +00:00
Ilya Tokar
a0fc640c18
Add support for packets of int64 on x86
2022-01-21 19:55:23 +00:00
Kolja Brix
8d81a2339c
Reduce usage of reserved names
2022-01-10 20:53:29 +00:00
Rasmus Munk Larsen
96dc37a03b
Some fixes/cleanups for numeric_limits & fix for related bug in psqrt
2022-01-07 01:10:17 +00:00
Ilya Tokar
e1cb6369b0
Add AVX vector path to float2half/half2float
...
Makes e. g. matrix multiplication 2x faster:
name old cpu/op new cpu/op delta
BM_convers 181ms ± 1% 62ms ± 9% -65.82% (p=0.016 n=4+5)
Tested on all possible input values (not adding tests, since they
take a long time).
2021-10-28 13:59:01 -04:00