On 5/20/22 09:42, Lucas Mateus Martins Araujo e Castro wrote:
On 20/05/2022 12:47, Richard Henderson wrote:
On 5/20/22 06:51, Lucas Mateus Castro(alqotel) wrote:
+ if (acc) {
+ aux_acc = at[i].VsrSF(j);
+ if (!neg_mul && !neg_acc) {
+ r = float32_add(r, aux_acc, excp_ptr);
+ } else if (!neg_mul) {
+ r = float32_add(r, bfp32_neg(aux_acc), excp_ptr);
+ } else if (!neg_acc) {
+ r = float32_add(bfp32_neg(r), aux_acc, excp_ptr);
+ } else {
+ r = float32_add(bfp32_neg(r), bfp32_neg(aux_acc),
excp_ptr);
+ }
There's no point in the 3 if's when using bfp32_neg.
Just use
if (neg_mul) {
}
if (neg_acc) {
}
float32_add(...);
You mean negate separately? Like:
if (neg_mul) {
r = bfp32_neg(r);
}
if (neg_acc) {
aux_acc = bfp32_neg(aux_acc);
}
r = float32_add(r, aux_acc, excp_ptr);
If so I'll send a new version with this change later today
Yes.
r~