enhance: remove duplicate code in ArithHelperF32 in SVE for bitset (#43951)

pr: #43950

Signed-off-by: Alexandr Guzhva <alexanderguzhva@gmail.com>
This commit is contained in:
Alexander Guzhva 2025-08-19 14:38:44 +00:00 committed by GitHub
parent bd9fd42310
commit 84b7ec880d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1318,30 +1318,6 @@ struct ArithHelperI64<ArithOpType::Mul, CmpOp> {
template <ArithOpType AOp, CompareOpType CmpOp>
struct ArithHelperF32 {};
template <CompareOpType CmpOp>
struct ArithHelperF32<ArithOpType::Div, CmpOp> {
static inline svbool_t
op_special(const svbool_t pred,
const svfloat32_t left,
const svfloat32_t right,
const svfloat32_t value) {
// this is valid for the positive denominator, == and != cases.
// left == right * value
return CmpHelper<CmpOp>::compare(
pred, left, svmul_f32_z(pred, right, value));
}
static inline svbool_t
op(const svbool_t pred,
const svfloat32_t left,
const svfloat32_t right,
const svfloat32_t value) {
// left / right == value
return CmpHelper<CmpOp>::compare(
pred, svdiv_f32_z(pred, left, right), value);
}
};
template <CompareOpType CmpOp>
struct ArithHelperF32<ArithOpType::Add, CmpOp> {
static inline svbool_t