[PATCH] D83818: [AArch64] fjcvtzs,rmif,cfinv,setf* all clobber nzcv

Jon Roelofs via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 24 09:39:22 PDT 2020


jroelofs marked an inline comment as done.
jroelofs added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64InstrInfo.td:1042
 // v8.4 Flag manipulation instructions
-let Predicates = [HasFMI] in {
+let Predicates = [HasFMI], Defs = [NZCV], Uses = [NZCV] in {
 def CFINV : SimpleSystemI<0, (ins), "cfinv", "">, Sched<[WriteSys]> {
----------------
SjoerdMeijer wrote:
> jroelofs wrote:
> > Disappointingly, these new tests don't fail if I remove these Defs/Uses, so they're not really effective at enforcing that these be here. The "unconventional" test I had before did that correctly, but I'm not sure how to write one for this group of instructions, since they're not matched by any PatFrag, and don't have corresponding intrinsics.
> Okay, thanks for trying. I think we've really tried, a change without tests here seems reasonable then.
Ooh, it just occurred to me that there is a way to test this: FileCheck for the error messages with mir that doesn't compile because the uses/defs are missing.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D83818





More information about the llvm-commits mailing list