aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/arch/NEON/PacketMath.h
Commit message (Collapse)AuthorAge
...
* HalfPacket also needed to be disabled for double, on ARMv8.Gravatar Benoit Jacob2015-03-02
|
* remove trailing commaGravatar Benoit Jacob2015-02-27
|
* Disable Packet2f/2i halfpacket support in NEON.Gravatar Benoit Jacob2015-02-27
| | | | | | I believe that it was erroneously turned on, since Packet2f/2i intrinsics are unimplemented, and code trying to use halfpackets just fails to compile on NEON, as it tries to use the default implementation of pload/pstore and the types don't match.
* bug #955 - Implement a rotating kernel alternative in the 3px4 gebp pathGravatar Benoit Jacob2015-02-18
| | | | | | | | This is substantially faster on ARM, where it's important to minimize the number of loads. This is specific to the case where all packet types are of size 4. I made my best attempt to minimize how dirty this is... opinions welcome. Eventually one could have a generic rotated kernel, but it would take some work to get there. Also, on sandy bridge, in my experience, it's not beneficial (even about 1% slower).
* The usage of DenseIndex is deprecated, so let's replace DenseIndex by IndexGravatar Gael Guennebaud2015-02-16
|
* Added vectorized implementation of the exponential function for ARM/NEONGravatar Benoit Steiner2015-02-10
|
* bug #936, patch 3/3: Properly detect FMA support on ARM (requires VFPv4)Gravatar Benoit Jacob2015-01-30
| | | | | and use it instead of MLA when available, because it's both more accurate, and faster.
* 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.
* bug #936, patch 1/3: some cleanup and renaming for consistency.Gravatar Benoit Jacob2015-01-30
|
* bug #907, ARM64: workaround ICE in xcode/clangGravatar Gael Guennebaud2015-01-13
|
* bug #907, ARM64: workaround vreinterpretq_u64_* not defined in xcode/clangGravatar Gael Guennebaud2015-01-13
|
* Big 907: workaround some missing intrinsics in current NDK's gcc version (ARM64)Gravatar Gael Guennebaud2015-01-07
|
* bug #907: fix compilation with ARM64Gravatar Gael Guennebaud2015-01-07
|
* 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.
* Added ARMv8 supportGravatar Konstantinos Margaritis2014-10-22
|
* working 64-bit support in PacketMath.h, Complex.h neededGravatar Konstantinos Margaritis2014-10-21
|
* Replace asm by __asm__ (bug #873)Gravatar Jitse Niesen2014-09-06
|
* bug #871: fix compilation on ARM/Neon regarding __has_builtin usageGravatar Gael Guennebaud2014-09-01
|
* Fix many long to int implicit conversionsGravatar Gael Guennebaud2014-07-08
|
* Fix ptranspose overload prototypes for NEONGravatar Gael Guennebaud2014-04-25
|
* Enable vectorization of pack_rhs with a column-major RHS.Gravatar Gael Guennebaud2014-04-25
| | | | Rename and generalize Kernel<*> to PacketBlock<*,N>.
* Fixed the NEON implementation of predux_max<Packet4i>.Gravatar Benoit Steiner2014-04-23
|
* Created a NEON version of the ptranspose packet primitivesGravatar Benoit Steiner2014-04-23
|
* merge with default branchGravatar Gael Guennebaud2014-04-22
|\
* | Implemented the pgather/pscatter packet primitives for the arm/NEON architectureGravatar Benoit Steiner2014-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.
| * bug #782: Workaround for gcc <= 4.4 compilation error on the NEON PacketMath ↵Gravatar Benoit Steiner2014-04-03
| | | | | | | | code.
* | Add a mechanism to recursively access to half-size packet typesGravatar Gael Guennebaud2014-03-28
|/
* Fix bug #677: compilation issue on arm64 which does not have the PLD instructionGravatar Gael Guennebaud2013-10-31
|
* Fix bug #590: NEON Duplicate lane loadGravatar Simon Pilgrim2013-06-23
|
* Add missing pconj specializationsGravatar Gael Guennebaud2013-05-17
|
* Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.Gravatar Benoit Jacob2012-07-13
|
* fix typoGravatar Konstantinos Margaritis2012-07-04
|
* fix NEON port, use vget_lane_*() instead of temporary variables (saves extraGravatar Konstantinos Margaritis2012-07-04
| | | | | load/store), following advice by Josh Bleecher Snyder <josharian@gmail.com>. Also implement pmadd() using vmla instead of nested padd/pmul.
* ARM NEON supports multiply-accumulate instruction vmla, use that in pmadd().Gravatar kmargar2012-05-28
|
* Get rid of include directives inside namespace blocks (bug #339).Gravatar Jitse Niesen2012-04-15
|
* Patches to support ARM NEON with Clang 3.0 and LLVM-GCCGravatar Marton Danoczy2011-11-04
|
* NEON: fix plsetGravatar Gael Guennebaud2011-05-18
|
* NEON: fix ploaddupGravatar Gael Guennebaud2011-05-18
|
* gcc 4.4 also defines float32_t as a special typeGravatar Gael Guennebaud2011-02-22
|
* workaround gcc 4.2 and 4.3 compilation issue with NEONGravatar Gael Guennebaud2011-02-07
|
* Remove all references to EIGEN_TUNE_CPU_CACHE_SIZE.Gravatar Jitse Niesen2011-02-04
| | | | | This macro is no longer used as of revision 0212eec23f4cb64e8426bf32568156df302f8fcf .
* Fixed NEON compilation errors, changed float-abi back to softfp (which is ↵Gravatar Konstantinos Margaritis2010-12-10
| | | | | | the most used right now). Some complex tests appear to segfault, needs a more careful look.
* bug #86 : use internal:: namespace instead of ei_ prefixGravatar Benoit Jacob2010-10-25
|
* add NEON ploaddup and pcplxflip functionsGravatar Gael Guennebaud2010-07-20
|
* mixing types in product step 2:Gravatar Gael Guennebaud2010-07-11
| | | | | | | | * pload* and pset1 are now templated on the packet type * gemv routines are now embeded into a structure with a consistent API with respect to gemm * some configurations of vector * matrix and matrix * matrix works fine, some need more work...
* syncGravatar Gael Guennebaud2010-07-10
|\
| * Added NEON/Complex.h, ~3.5x faster than scalar std::complex<float>Gravatar Konstantinos Margaritis2010-07-10
| | | | | | | | minor fix in AltiVec Complex.h
* | scalars fitting in a single packet requires more work, step 1Gravatar Gael Guennebaud2010-07-08
|/ | | | | * add a, Alignable trait * update LinearVectorization assignment