Specialize psign<Packet8i> for AVX2, don't vectorize psign<bool>.

Reference issue

What does this implement/fix?

Additional information

Speedup for psign<Packet8i> with AVX2 enabled:

name                    old cpu/op  new cpu/op  delta
BM_eigen_sign_int/1     2.73ns ± 0%  0.56ns ± 1%  -79.45%  (p=0.000 n=52+56)
BM_eigen_sign_int/8     6.81ns ± 1%  5.33ns ± 0%  -21.75%  (p=0.000 n=49+55)
BM_eigen_sign_int/64    16.1ns ± 1%   7.9ns ± 0%  -50.95%  (p=0.000 n=52+57)
BM_eigen_sign_int/512   58.0ns ± 0%  28.2ns ± 0%  -51.40%  (p=0.000 n=58+49)
BM_eigen_sign_int/4k     405ns ± 1%   198ns ± 1%  -51.05%  (p=0.000 n=46+60)
BM_eigen_sign_int/32k   3.83µs ± 1%  2.46µs ± 1%  -35.76%  (p=0.000 n=42+54)
BM_eigen_sign_int/256k  78.5µs ± 2%  78.5µs ± 1%     ~     (p=0.369 n=59+51)
BM_eigen_sign_int/1M     315µs ± 2%   315µs ± 1%     ~     (p=0.983 n=32+30)

Merge request reports

Loading