Antonio Sánchez
f0795d35e3
Fix new psincos for ppc and arm32.
2024-04-19 00:31:09 +00:00
Chip Kerchner
ad452e575d
Fix compilation problems with PacketI on PowerPC.
2024-04-18 14:55:15 +00:00
Chip Kerchner
be54cc8ded
Fix preverse for PowerPC.
2024-04-03 20:09:06 +00:00
Antonio Sánchez
3ebaab8a63
Fix PPC rand and other failures.
2024-02-05 20:07:15 +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
Chip Kerchner
211c5dfc67
Add optional offset parameter to ploadu_partial and pstoreu_partial
2023-06-23 19:53:05 +00:00
Chip Kerchner
fda1373a15
Fix ColMajor BF16 GEMV for when vector is RowMajor
2023-05-03 20:12:50 +00:00
Chip Kerchner
6418ac0285
Unroll F32 to BF16 loop - 1.8X faster conversions for LLVM. Use vector pairs for GCC.
2023-05-01 16:54:16 +00:00
Chip Kerchner
3f3ce214e6
New BF16 pcast functions and move type casting to TypeCasting.h
2023-04-18 02:38:38 +00:00
Chip Kerchner
1148f0a9ec
Add dynamic dispatch to BF16 GEMM (Power) and new VSX version
2023-04-14 22:20:42 +00:00
Rasmus Munk Larsen
df1049ddf4
Small packet math cleanup.
2023-04-04 16:14:32 +00:00
Chip Kerchner
e4598fedbe
Fix compiler versions for certain instructions on Power.
2023-02-23 23:24:41 +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
Chip Kerchner
e797974689
Add and enable Packet int divide for Power10.
2023-02-17 19:04:18 +00:00
Chip Kerchner
e71f88abce
Change in Power eigen_asserts to eigen_internal_asserts since it is putting unnecessary error checking and assertions without NDEBUG.
2023-02-08 00:57:30 +00:00
Chip Kerchner
4a58f30aa0
Fix pre-POWER8_VECTOR bugs in pcmp_lt and pnegate and reactivate psqrt.
2023-01-31 19:40:24 +00:00
Chip Kerchner
ab8725d947
Turn off vectorize version of rsqrt - doesn't match generic version
2023-01-27 18:28:54 +00:00
Sean McBride
d70b4864d9
issue #2581 : review and cleanup of compiler version checks
2023-01-17 18:58:34 +00:00
Sergey Fedorov
4d05765345
Altivec fixes for Darwin: do not use unsupported VSX insns
2023-01-12 16:33:33 +00:00
Chip Kerchner
399ce1ed63
Fix duplicate execution code for Power 8 Altivec in pstore_partial.
2022-11-16 13:41:42 +00:00
Antonio Sanchez
5eacb9e117
Put brackets around unsigned type names.
2022-11-15 09:09:45 -08:00
Antonio Sánchez
37e40dca85
Fix ambiguity in PPC for vec_splats call.
2022-11-14 18:58:16 +00:00
Charles Schlosser
82b152dbe7
Add signbit function
2022-11-04 00:31:20 +00:00
Antonio Sánchez
886aad1361
Disable patan for double on PPC.
2022-10-27 17:56:08 +00:00
Rasmus Munk Larsen
c475228b28
Vectorize atan() for double.
2022-10-01 01:49:30 +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
Chip Kerchner
9e0afe0f02
Fix non-VSX PowerPC build
2022-08-08 18:18:17 +00:00
Chip Kerchner
ce60a7be83
Partial Packet support for GEMM real-only (PowerPC). Also fix compilation warnings & errors for some conditions in new API.
2022-08-03 18:15:19 +00:00
Chip Kerchner
84cf3ff18d
Add pload_partial, pstore_partial (and unaligned versions), pgather_partial, pscatter_partial, loadPacketPartial and storePacketPartial.
2022-06-27 19:18:00 +00:00
Chip Kerchner
4d1c16eab8
Fix tanh and erf to use vectorized version for EIGEN_FAST_MATH in VSX.
2022-06-15 16:06:43 +00:00
Eisuke Kawashima
ac5c83a3f5
unset executable flag
2022-05-22 22:47:43 +09:00
Chip Kerchner
b02c384ef4
Add fused multiply functions for PowerPC - pmsub, pnmadd and pnmsub
2022-04-18 16:16:32 +00:00
Chip Kerchner
403fa33409
Performance improvements in GEMM for Power
2022-04-05 12:18:53 +00:00
Erik Schultheis
421cbf0866
Replace Eigen type metaprogramming with corresponding std types and make use of alias templates
2022-03-16 16:43:40 +00:00
Kolja Brix
8d81a2339c
Reduce usage of reserved names
2022-01-10 20:53:29 +00:00
Rasmus Munk Larsen
d7d0bf832d
Issue an error in case of direct inclusion of internal headers.
2021-09-10 19:12:26 +00:00
Antonio Sanchez
2cc6ee0d2e
Add missing PPC packet comparisons.
...
This is to fix the packetmath tests on the ppc pipeline.
2021-08-17 07:42:04 -07:00
Chip-Kerchner
e07227c411
Reverse compare logic in F32ToBf16 since vec_cmpne is not available in Power8 - now compiles for clang10 default (P8).
2021-08-13 11:21:28 -05:00
ChipKerchner
413bc491f1
Fix errors on older compilers (gcc 7.5 - lack of vec_neg, clang10 - can not use const pointers with vec_xl).
2021-08-10 15:03:18 -05:00
Rasmus Munk Larsen
bffd267d17
Small cleanup: Get rid of the macros EIGEN_HAS_SINGLE_INSTRUCTION_CJMADD and CJMADD, which were effectively unused, apart from on x86, where the change results in identically performing code.
2021-06-24 18:52:17 -07:00
Antonio Sanchez
9e94c59570
Add missing ppc pcmp_lt_or_nan<Packet8bf>
2021-06-15 13:42:17 -07:00
Rasmus Munk Larsen
fc87e2cbaa
Use bit_cast to create -0.0 for floating point types to avoid compiler optimization changing sign with --ffast-math enabled.
2021-06-11 02:35:53 +00:00
Chip Kerchner
c9d4367fa4
Fix pround and add print
2021-03-15 19:07:43 +00:00
Chip Kerchner
9b51dc7972
Fixed performance issues for VSX and P10 MMA in general_matrix_matrix_product
2021-02-17 17:49:23 +00:00
Antonio Sanchez
7ff0b7a980
Updated pfrexp implementation.
...
The original implementation fails for 0, denormals, inf, and NaN.
See #2150
2021-02-17 02:23:24 +00:00
Antonio Sanchez
4cb563a01e
Fix ldexp implementations.
...
The previous implementations produced garbage values if the exponent did
not fit within the exponent bits. See #2131 for a complete discussion,
and !375 for other possible implementations.
Here we implement the 4-factor version. See `pldexp_impl` in
`GenericPacketMathFunctions.h` for a full description.
The SSE `pcmp*` methods were moved down since `pcmp_le<Packet4i>`
requires `por`.
Left as a "TODO" is to delegate to a faster version if we know the
exponent does fit within the exponent bits.
Fixes #2131 .
2021-02-10 22:45:41 +00:00
Antonio Sanchez
1615a27993
Fix altivec packetmath.
...
Allows the altivec packetmath tests to pass. There were a few issues:
- `pstoreu` was missing MSQ on `_BIG_ENDIAN` systems
- `cmp_*` didn't properly handle conversion of bool flags (0x7FC instead
of 0xFFFF)
- `pfrexp` needed to set the `exponent` argument.
Related to !370 , #2128
cc: @ChipKerchner @pdrocaldeira
Tested on `_BIG_ENDIAN` running on QEMU with VSX. Couldn't figure out build
flags to get it to work for little endian.
2021-01-28 18:37:09 +00:00
Chip Kerchner
1414e2212c
Fix clang compilation for AltiVec from previous check-in
2021-01-28 18:36:40 +00:00