Always vectorize abs2() for non-complex types.

For several packet types, `abs2` was not vectorized even if it only requires `pmul`. Get rid of the confusing and redundant `HasAbs2` enum and instead check `HasMul` in addition to making sure the scalar type is not complex.

See merge request libeigen/eigen!2048
This commit is contained in:
Rasmus Munk Larsen
2025-10-30 02:42:56 +00:00
parent 60122df698
commit ece9a4c0b6
9 changed files with 4 additions and 32 deletions

View File

@@ -49,7 +49,6 @@ struct packet_traits<numext::int32_t> : default_packet_traits {
HasNegate = 1,
HasAbs = 1,
HasArg = 0,
HasAbs2 = 1,
HasMin = 1,
HasMax = 1,
HasConj = 1,
@@ -344,7 +343,6 @@ struct packet_traits<float> : default_packet_traits {
HasNegate = 1,
HasAbs = 1,
HasArg = 0,
HasAbs2 = 1,
HasMin = 1,
HasMax = 1,
HasConj = 1,