blob: 9786adb9ec312423aa3ee1bcb24b63da68c4a5c2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
// vwmulsu.vv vd, vs2, vs1
VI_CHECK_DSS(true);
VI_VV_LOOP_WIDEN
({
switch(P.VU.vsew) {
case e8:
P.VU.elt<uint16_t>(rd_num, i) = (int16_t)(int8_t)vs2 * (int16_t)(uint8_t)vs1;
break;
case e16:
P.VU.elt<uint32_t>(rd_num, i) = (int32_t)(int16_t)vs2 * (int32_t)(uint16_t)vs1;
break;
default:
P.VU.elt<uint64_t>(rd_num, i) = (int64_t)(int32_t)vs2 * (int64_t)(uint32_t)vs1;
break;
}
})
|