summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/X86FoldTablesEmitter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/utils/TableGen/X86FoldTablesEmitter.cpp')
-rw-r--r--llvm/utils/TableGen/X86FoldTablesEmitter.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/utils/TableGen/X86FoldTablesEmitter.cpp b/llvm/utils/TableGen/X86FoldTablesEmitter.cpp
index 1ebe9f9f8f0..6ef339b7a2f 100644
--- a/llvm/utils/TableGen/X86FoldTablesEmitter.cpp
+++ b/llvm/utils/TableGen/X86FoldTablesEmitter.cpp
@@ -517,8 +517,10 @@ void X86FoldTablesEmitter::updateTables(const CodeGenInstruction *RegInstr,
// Instructions which have the WriteRMW value (Read-Modify-Write) should be
// added to Table2Addr.
- if (hasDefInList(MemRec, "SchedRW", "WriteRMW") && MemOutSize != RegOutSize &&
- MemInSize == RegInSize) {
+ if ((hasDefInList(MemRec, "SchedRW", "WriteRMW") ||
+ hasDefInList(MemRec, "SchedRW", "WriteADCRMW") ||
+ hasDefInList(MemRec, "SchedRW", "WriteALURMW")) &&
+ MemOutSize != RegOutSize && MemInSize == RegInSize) {
addEntryWithFlags(Table2Addr, RegInstr, MemInstr, S, 0);
return;
}
OpenPOWER on IntegriCloud