[PATCH] D154620: [RISCV] Cleanup dead complexity in RISCVMaskedPseudo after TA/TU merge refactoring [nfc]

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 7 16:19:42 PDT 2023


craig.topper added a comment.

> "(which is actually needed to represent tail undefined vs tail agnostic)".

Comparisons have extra rule for tail agnostic, they're allowed to evaluate the comparison for the tail.

  In addition, except for mask load instructions, any element in the tail of a mask result can also be written with the value the mask-producing operation would have calculated with vl=VLMAX. Furthermore, for mask-logical instructions and vmsbf.m, vmsif.m, vmsof.m mask-manipulation instructions, any element in the tail of the result can be written with the value the mask-producing operation would have calculated with vl=VLEN, SEW=8, and LMUL=8 (i.e., all bits of the mask register can be overwritten).

Is that enough to be considered "undefined" or could a user set the tail of the mask to all ones, and set the comparison operands past VL to evaluate to true? So they would always get a 1 for the tail.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D154620/new/

https://reviews.llvm.org/D154620



More information about the llvm-commits mailing list