Enable NEON pcmp, plset, and complex psqrt

This commit is contained in:
Arthur
2022-12-22 05:38:34 +00:00
committed by Antonio Sánchez
parent dbf7ae6f9b
commit 311cc0f9cc
3 changed files with 20 additions and 13 deletions

View File

@@ -176,6 +176,7 @@ struct packet_traits<float> : default_packet_traits
size = 4,
HasHalfPacket = 1,
HasCmp = 1,
HasAdd = 1,
HasSub = 1,
HasShift = 1,
@@ -188,7 +189,7 @@ struct packet_traits<float> : default_packet_traits
HasMin = 1,
HasMax = 1,
HasConj = 1,
HasSetLinear = 0,
HasSetLinear = 1,
HasBlend = 0,
HasDiv = 1,
@@ -237,7 +238,7 @@ struct packet_traits<int8_t> : default_packet_traits
HasMin = 1,
HasMax = 1,
HasConj = 1,
HasSetLinear = 0,
HasSetLinear = 1,
HasBlend = 0
};
};
@@ -267,7 +268,7 @@ struct packet_traits<uint8_t> : default_packet_traits
HasMin = 1,
HasMax = 1,
HasConj = 1,
HasSetLinear = 0,
HasSetLinear = 1,
HasBlend = 0,
HasSqrt = 1
@@ -286,6 +287,7 @@ struct packet_traits<int16_t> : default_packet_traits
size = 8,
HasHalfPacket = 1,
HasCmp = 1,
HasAdd = 1,
HasSub = 1,
HasShift = 1,
@@ -298,7 +300,7 @@ struct packet_traits<int16_t> : default_packet_traits
HasMin = 1,
HasMax = 1,
HasConj = 1,
HasSetLinear = 0,
HasSetLinear = 1,
HasBlend = 0
};
};
@@ -315,6 +317,7 @@ struct packet_traits<uint16_t> : default_packet_traits
size = 8,
HasHalfPacket = 1,
HasCmp = 1,
HasAdd = 1,
HasSub = 1,
HasShift = 1,
@@ -327,7 +330,7 @@ struct packet_traits<uint16_t> : default_packet_traits
HasMin = 1,
HasMax = 1,
HasConj = 1,
HasSetLinear = 0,
HasSetLinear = 1,
HasBlend = 0,
HasSqrt = 1
};
@@ -345,6 +348,7 @@ struct packet_traits<int32_t> : default_packet_traits
size = 4,
HasHalfPacket = 1,
HasCmp = 1,
HasAdd = 1,
HasSub = 1,
HasShift = 1,
@@ -357,7 +361,7 @@ struct packet_traits<int32_t> : default_packet_traits
HasMin = 1,
HasMax = 1,
HasConj = 1,
HasSetLinear = 0,
HasSetLinear = 1,
HasBlend = 0
};
};
@@ -374,6 +378,7 @@ struct packet_traits<uint32_t> : default_packet_traits
size = 4,
HasHalfPacket = 1,
HasCmp = 1,
HasAdd = 1,
HasSub = 1,
HasShift = 1,
@@ -386,7 +391,7 @@ struct packet_traits<uint32_t> : default_packet_traits
HasMin = 1,
HasMax = 1,
HasConj = 1,
HasSetLinear = 0,
HasSetLinear = 1,
HasBlend = 0,
HasSqrt = 1
@@ -418,7 +423,7 @@ struct packet_traits<int64_t> : default_packet_traits
HasMin = 1,
HasMax = 1,
HasConj = 1,
HasSetLinear = 0,
HasSetLinear = 1,
HasBlend = 0
};
};
@@ -448,7 +453,7 @@ struct packet_traits<uint64_t> : default_packet_traits
HasMin = 1,
HasMax = 1,
HasConj = 1,
HasSetLinear = 0,
HasSetLinear = 1,
HasBlend = 0
};
};
@@ -3406,7 +3411,7 @@ template<> struct packet_traits<bfloat16> : default_packet_traits
HasMin = 1,
HasMax = 1,
HasConj = 1,
HasSetLinear = 0,
HasSetLinear = 1,
HasBlend = 0,
HasDiv = 1,
HasFloor = 1,
@@ -3763,7 +3768,7 @@ template<> struct packet_traits<double> : default_packet_traits
HasMin = 1,
HasMax = 1,
HasConj = 1,
HasSetLinear = 0,
HasSetLinear = 1,
HasBlend = 0,
HasDiv = 1,
@@ -4007,7 +4012,7 @@ struct packet_traits<Eigen::half> : default_packet_traits {
HasMin = 1,
HasMax = 1,
HasConj = 1,
HasSetLinear = 0,
HasSetLinear = 1,
HasBlend = 0,
HasInsert = 1,
HasReduxp = 1,