In RISC-V V specification, 'undisturbed' means the values of destination registers will not be changed. There are two scenarios there will be 'undisturbed' elements. One is for tail elements and the other is masked off elements. If the instructions have 'undisturbed' semantics, destination register is also one of the inputs of the instructions.
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/RISCV/RISCVInstrInfoV.td | ||
---|---|---|
831 | Shouldn't these instructions have a maskedoff field as well? As you mention undisturbed applies both to inactive elements (masked-off) and tail elements. That is what I understand from https://riscv.github.io/documents/riscv-v-spec/#sec-mask-register-logical
|
llvm/lib/Target/RISCV/RISCVInstrInfoV.td | ||
---|---|---|
831 | It seems like every instruction should have maskedoff argument, because every instruction may have tail elements. I will review it. Thanks, Roger. |
I need to think about is it necessary to describe 'undisturbed' semantics in instruction definitions. Do not review it now.
Shouldn't these instructions have a maskedoff field as well? As you mention undisturbed applies both to inactive elements (masked-off) and tail elements.
That is what I understand from https://riscv.github.io/documents/riscv-v-spec/#sec-mask-register-logical