| commit | e79c5149bf049994b86ab19aac24b0dde2bcc387 | [log] [tgz] |
|---|---|---|
| author | Mark D Ryan <mark.d.ryan@intel.com> | Mon Jun 25 05:05:02 2018 -0700 |
| committer | Mark D Ryan <mark.d.ryan@intel.com> | Mon Jun 25 05:05:02 2018 -0700 |
| tree | 8ed580404924ba7ecf9d358682804fbf0b71ba5c | |
| parent | 2ebcb911b27174c5402e4c7af3d2738fd042a5e2 [diff] |
Fix AVX512 implementations of psqrt This commit fixes the AVX512 implementations of psqrt in the same way that 3ed67cb0bb4af65fbf243df598604a8c7630bf7d fixed the AVX2 version of this function. The AVX512 versions of psqrt incorrectly return -0.0 for negative values, instead of NaN. Fixing the issues requires adding some additional instructions that slow down the algorithms. A similar test to the one used in 3ed67cb0bb4af65fbf243df598604a8c7630bf7d shows that the corrected Packet16f code runs at 73% of the speed of the existing code, while the corrected Packed8d function runs at 68% of the original.
Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
For more information go to http://eigen.tuxfamily.org/.
For pull request please only use the official repository at https://bitbucket.org/eigen/eigen.
For bug reports and feature requests go to http://eigen.tuxfamily.org/bz.