aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/arch/AVX/PacketMath.h
Commit message (Collapse)AuthorAge
* Make NaN propagatation consistent between the pmax/pmin and ↵Gravatar Rasmus Munk Larsen2017-01-24
| | | | | | std::max/std::min. This makes the NaN propagation consistent between the scalar and vectorized code paths of Eigen's scalar_max_op and scalar_min_op. See #1373 for details.
* Fix compilation with gcc and old ABI versionGravatar Gael Guennebaud2016-11-23
|
* Optimize predux<Packet8f> (AVX)Gravatar Gael Guennebaud2016-11-22
|
* Optimize predux<Packet4d> (AVX)Gravatar Gael Guennebaud2016-11-22
|
* Merged eigen/eigen into defaultGravatar Benoit Steiner2016-11-03
|\
| * Add pinsertfirst function and implement pinsertlast for complex on SSE/AVX.Gravatar Gael Guennebaud2016-11-02
| |
| * Add missing inline keywordsGravatar Gael Guennebaud2016-10-25
| |
| * Add a pinsertlast function replacing the last entry of a packet by a scalar.Gravatar Gael Guennebaud2016-10-25
| | | | | | | | (useful to vectorize LinSpaced)
* | Renamed predux_half into predux_downto4Gravatar Benoit Steiner2016-10-06
| |
* | Merged latest updates from trunkGravatar Benoit Steiner2016-10-05
|\|
| * bug #1195: move NumTraits::Div<>::Cost to internal::scalar_div_cost (with ↵Gravatar Gael Guennebaud2016-09-08
| | | | | | | | some specializations in arch/SSE and arch/AVX)
| * bug #1270: bypass custom asm for pmadd and recent clang versionGravatar Gael Guennebaud2016-08-22
| |
* | Pull latest updates from upstreamGravatar Benoit Steiner2016-04-11
|\|
| * Optimized implementation of the hyperbolic tangent function for AVXGravatar Benoit Steiner2016-02-10
| |
* | Generalized predux4 to support AVX512 packets, and renamed it predux_half.Gravatar Benoit Steiner2016-02-01
| | | | | | | | Disabled the implementation of pabs for avx512 since the corresponding intrinsics are not shipped with gcc
* | Don't disable the AVX implementations of plset when compiling with AVX512 ↵Gravatar Benoit Steiner2016-01-14
| | | | | | | | enabled
* | Free memory allocated using posix_memalign() with free() instead of std::free()Gravatar Benoit Steiner2015-12-21
|/
* Fix AVX round/ceil/floor, and fix respective unit testGravatar Gael Guennebaud2015-11-04
|
* Add round, ceil and floor for SSE4.1/AVX (Bug #70)Gravatar Alexandre Avenel2015-11-01
|
* bug #1069: fix AVX support on MSVC (use of non portable C-style cast)Gravatar Gael Guennebaud2015-09-28
|
* Fix prototype of plset and generalize linspace functor.Gravatar Gael Guennebaud2015-08-07
|
* Include SSE packetmath when AVX is enabled, and enable AVX's sine function ↵Gravatar Gael Guennebaud2015-08-07
| | | | only in fast-math mode (as SSE)
* Let unpacket_traits<> exposes the required alignment and make use of it ↵Gravatar Gael Guennebaud2015-08-07
| | | | everywhere
* Fix shadow warnings triggered by clangGravatar Gael Guennebaud2015-06-09
|
* Added a double-precision implementation of the exp() function for AVX.Gravatar Benoit Steiner2015-05-04
|
* Added support for fast reciprocal square root computation.Gravatar Benoit Steiner2015-02-26
|
* Merged in chtz/eigen-indexconversion (pull request PR-92)Gravatar Gael Guennebaud2015-02-16
|\ | | | | | | | | | | | | | | | | | | | | | | bug #877, bug #572: Get rid of Index conversion warnings, summary of changes: - Introduce a global typedef Eigen::Index making Eigen::DenseIndex and AnyExpr<>::Index deprecated (default is std::ptrdiff_t). - Eigen::Index is used throughout the API to represent indices, offsets, and sizes. - Classes storing an array of indices uses the type StorageIndex to store them. This is a template parameter of the class. Default is int. - Methods that *explicitly* set or return an element of such an array take or return a StorageIndex type. In all other cases, the Index type is used.
| * The usage of DenseIndex is deprecated, so let's replace DenseIndex by IndexGravatar Gael Guennebaud2015-02-16
| |
* | Pulled latest updates from trunkGravatar Benoit Steiner2015-02-13
|\|
* | Optimized version of the sin(), exp(), log() and sqrt() function for AVXGravatar Benoit Steiner2015-02-13
| |
| * merge Tensor module within Eigen/unsupported and update gemv BLAS wrapperGravatar Gael Guennebaud2015-02-12
|/|
* | FMA has been wrongly disabledGravatar Gael Guennebaud2015-02-10
| |
| * Pulled the latest changes from the trunkGravatar Benoit Steiner2015-02-06
| |\ | |/ |/|
* | bug #936, patch 2/3: Remove EIGEN_VECTORIZE_FMA, was redundant with ↵Gravatar Benoit Jacob2015-01-30
| | | | | | | | EIGEN_HAS_SINGLE_INSTRUCTION_MADD
* | bug #936, patch 1.5/3: rename _FUSED_ macros to _SINGLE_INSTRUCTION_,Gravatar Benoit Jacob2015-01-31
| | | | | | | | | | | | | | | | | | because this is what they are about. "Fused" means "no intermediate rounding between the mul and the add, only one rounding at the end". Instead, what we are concerned about here is whether a temporary register is needed, i.e. whether the MUL and ADD are separate instructions. Concretely, on ARM NEON, a single-instruction mul-add is always available: VMLA. But a true fused mul-add is only available on VFPv4: VFMA.
* | Introduce unified macros to identify compiler, OS, and architecture. They ↵Gravatar Gael Guennebaud2014-11-04
| | | | | | | | are all defined in util/Macros.h and prefixed with EIGEN_COMP_, EIGEN_OS_, and EIGEN_ARCH_ respectively.
| * Merged latest updates from the Eigen trunk.Gravatar Benoit Steiner2014-09-15
| |\ | |/ |/|
| * Pulled in the latest changes from the Eigen trunkGravatar Benoit Steiner2014-08-13
| |\
* | | Replace asm by __asm__ (bug #873)Gravatar Jitse Niesen2014-09-06
| |/ |/|
* | Fix many long to int implicit conversionsGravatar Gael Guennebaud2014-07-08
| |
| * Fixed a typoGravatar Benoit Steiner2014-06-07
| |
| * Created the pblend packet primitive and implemented it using SSE and AVX ↵Gravatar Benoit Steiner2014-06-06
|/ | | | instructions.
* Enable vectorization of pack_rhs with a column-major RHS.Gravatar Gael Guennebaud2014-04-25
| | | | Rename and generalize Kernel<*> to PacketBlock<*,N>.
* Enable fused madd for AltivecGravatar Gael Guennebaud2014-04-24
|
* Optimize AVX pset1 for complexes and ploaddupGravatar Gael Guennebaud2014-04-17
|
* Optimize ploaddup for AVXGravatar Gael Guennebaud2014-04-17
|
* New gebp kernel handling up to 3 packets x 4 register-level blocks. Huge ↵Gravatar Gael Guennebaud2014-04-16
| | | | | | speeup on Haswell. This changeset also introduce new vector functions: ploadquad and predux4.
* Workaround alignment warningsGravatar Gael Guennebaud2014-03-30
|
* Add a mechanism to recursively access to half-size packet typesGravatar Gael Guennebaud2014-03-28
|
* Merged latest changes from parent.Gravatar Benoit Steiner2014-03-27
|\