We are not properly sign extending the bits we hack off for
V_MAD_I32_I24.
This fixes rnn_fwdBwd 64 1 1 lstm pte assertion failure.
Change-Id: I2516e5715227cbd822e6a62630674f64f7a109e0
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/29928
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com>
Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
Tested-by: kokoro <noreply+kokoro@google.com>
for (int lane = 0; lane < NumVecElemPerVecReg; ++lane) {
if (wf->execMask(lane)) {
- vdst[lane] = bits(src0[lane], 23, 0) * bits(src1[lane], 23, 0)
- + src2[lane];
+ vdst[lane] = sext<24>(bits(src0[lane], 23, 0))
+ * sext<24>(bits(src1[lane], 23, 0)) + src2[lane];
}
}