[a64] Remove redundant `OPCODE_DOT_PRODUCT_{3,4}` lane-isolation
The last `FADDP` writes into an `S` register, which automatically masks all the other lanes to zero.
This commit is contained in:
parent
9c8b0678a5
commit
9c572c3937
|
@ -2111,11 +2111,6 @@ struct DOT_PRODUCT_3_V128
|
|||
e.MOV(dest.toQ().Selem()[3], WZR);
|
||||
e.FADDP(dest.toQ().S4(), dest.toQ().S4(), dest.toQ().S4());
|
||||
e.FADDP(dest.toS(), dest.toD().S2());
|
||||
|
||||
// Isolate lower lane
|
||||
e.MOVI(Q0.D2(), RepImm(0b00'00'00'00));
|
||||
e.INS(Q0.Selem()[0], dest.toQ().Selem()[0]);
|
||||
e.MOV(dest.toQ().B16(), Q0.B16());
|
||||
});
|
||||
}
|
||||
};
|
||||
|
@ -2134,11 +2129,6 @@ struct DOT_PRODUCT_4_V128
|
|||
e.FMUL(dest.toQ().S4(), src1.S4(), src2.S4());
|
||||
e.FADDP(dest.toQ().S4(), dest.toQ().S4(), dest.toQ().S4());
|
||||
e.FADDP(dest.toS(), dest.toD().S2());
|
||||
|
||||
// Isolate lower lane
|
||||
e.MOVI(Q0.D2(), RepImm(0b00'00'00'00));
|
||||
e.INS(Q0.Selem()[0], dest.toQ().Selem()[0]);
|
||||
e.MOV(dest.toQ().B16(), Q0.B16());
|
||||
});
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue