[PATCH] D117757: [AArch64] Modeling NZCV read/write for MOPS instructions
Son Tuan Vu via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 21 01:03:26 PST 2022
tyb0807 updated this revision to Diff 401890.
tyb0807 edited the summary of this revision.
tyb0807 added a comment.
Update commit message
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D117757/new/
https://reviews.llvm.org/D117757
Files:
llvm/lib/Target/AArch64/AArch64InstrInfo.td
Index: llvm/lib/Target/AArch64/AArch64InstrInfo.td
===================================================================
--- llvm/lib/Target/AArch64/AArch64InstrInfo.td
+++ llvm/lib/Target/AArch64/AArch64InstrInfo.td
@@ -8334,23 +8334,33 @@
}
let Predicates = [HasMOPS] in {
- defm CPYFP : MOPSMemoryCopyInsns<0b00, "cpyfp">;
- defm CPYFM : MOPSMemoryCopyInsns<0b01, "cpyfm">;
- defm CPYFE : MOPSMemoryCopyInsns<0b10, "cpyfe">;
+ let Defs = [NZCV] in {
+ defm CPYFP : MOPSMemoryCopyInsns<0b00, "cpyfp">;
- defm CPYP : MOPSMemoryMoveInsns<0b00, "cpyp">;
- defm CPYM : MOPSMemoryMoveInsns<0b01, "cpym">;
- defm CPYE : MOPSMemoryMoveInsns<0b10, "cpye">;
+ defm CPYP : MOPSMemoryMoveInsns<0b00, "cpyp">;
- defm SETP : MOPSMemorySetInsns<0b00, "setp">;
- defm SETM : MOPSMemorySetInsns<0b01, "setm">;
- defm SETE : MOPSMemorySetInsns<0b10, "sete">;
+ defm SETP : MOPSMemorySetInsns<0b00, "setp">;
+ }
+ let Uses = [NZCV] in {
+ defm CPYFM : MOPSMemoryCopyInsns<0b01, "cpyfm">;
+ defm CPYFE : MOPSMemoryCopyInsns<0b10, "cpyfe">;
+
+ defm CPYM : MOPSMemoryMoveInsns<0b01, "cpym">;
+ defm CPYE : MOPSMemoryMoveInsns<0b10, "cpye">;
+
+ defm SETM : MOPSMemorySetInsns<0b01, "setm">;
+ defm SETE : MOPSMemorySetInsns<0b10, "sete">;
+ }
}
let Predicates = [HasMOPS, HasMTE] in {
- defm SETGP : MOPSMemorySetTaggingInsns<0b00, "setgp">;
- defm SETGM : MOPSMemorySetTaggingInsns<0b01, "setgm">;
- // Can't use SETGE because it's a reserved name in TargetSelectionDAG.td
- defm MOPSSETGE : MOPSMemorySetTaggingInsns<0b10, "setge">;
+ let Defs = [NZCV] in {
+ defm SETGP : MOPSMemorySetTaggingInsns<0b00, "setgp">;
+ }
+ let Uses = [NZCV] in {
+ defm SETGM : MOPSMemorySetTaggingInsns<0b01, "setgm">;
+ // Can't use SETGE because it's a reserved name in TargetSelectionDAG.td
+ defm MOPSSETGE : MOPSMemorySetTaggingInsns<0b10, "setge">;
+ }
}
let Defs = [X16, X17], mayStore = 1, isCodeGenOnly = 1 in
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D117757.401890.patch
Type: text/x-patch
Size: 1973 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220121/1a6f87b9/attachment.bin>
More information about the llvm-commits
mailing list