Skip to content

Commit 1ec477f

Browse files
committed
Bypass masked-off elements for viota
* riscv/insns/viota_m.h: Bypass masked-off elements.
1 parent 4f1d8ab commit 1ec477f

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

riscv/insns/viota_m.h

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,23 +21,22 @@ for (reg_t i = 0; i < vl; ++i) {
2121
}
2222
}
2323

24-
bool use_ori = (insn.v_vm() == 0) && !do_mask;
24+
// Bypass masked-off elements
25+
if ((insn.v_vm() == 0) && !do_mask)
26+
continue;
27+
2528
switch (sew) {
2629
case e8:
27-
P.VU.elt<uint8_t>(rd_num, i, true) = use_ori ?
28-
P.VU.elt<uint8_t>(rd_num, i) : cnt;
30+
P.VU.elt<uint8_t>(rd_num, i, true) = cnt;
2931
break;
3032
case e16:
31-
P.VU.elt<uint16_t>(rd_num, i, true) = use_ori ?
32-
P.VU.elt<uint16_t>(rd_num, i) : cnt;
33+
P.VU.elt<uint16_t>(rd_num, i, true) = cnt;
3334
break;
3435
case e32:
35-
P.VU.elt<uint32_t>(rd_num, i, true) = use_ori ?
36-
P.VU.elt<uint32_t>(rd_num, i) : cnt;
36+
P.VU.elt<uint32_t>(rd_num, i, true) = cnt;
3737
break;
3838
default:
39-
P.VU.elt<uint64_t>(rd_num, i, true) = use_ori ?
40-
P.VU.elt<uint64_t>(rd_num, i) : cnt;
39+
P.VU.elt<uint64_t>(rd_num, i, true) = cnt;
4140
break;
4241
}
4342

0 commit comments

Comments
 (0)