]> granicus.if.org Git - llvm/commitdiff
[X86] Add missing mayLoad/mayStore attributes to some X86 instructions (Continue)
authorAyman Musa <ayman.musa@intel.com>
Wed, 26 Apr 2017 11:34:09 +0000 (11:34 +0000)
committerAyman Musa <ayman.musa@intel.com>
Wed, 26 Apr 2017 11:34:09 +0000 (11:34 +0000)
Complete the patch committed in rL300190.

Differential Revision: https://reviews.llvm.org/D32287

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301393 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86InstrArithmetic.td

index bfd21c062aa26ec51ebfe28b0c88654dd387cbe9..66382014f6e8cf20bd17bab479b4c4d5b4493904 100644 (file)
@@ -989,10 +989,12 @@ multiclass ArithBinOp_RF<bits<8> BaseOpc, bits<8> BaseOpc2, bits<8> BaseOpc4,
       }
     } // Constraints = "$src1 = $dst"
 
-    def NAME#8mr    : BinOpMR_RMW<BaseOpc, mnemonic, Xi8 , opnode>;
-    def NAME#16mr   : BinOpMR_RMW<BaseOpc, mnemonic, Xi16, opnode>;
-    def NAME#32mr   : BinOpMR_RMW<BaseOpc, mnemonic, Xi32, opnode>;
-    def NAME#64mr   : BinOpMR_RMW<BaseOpc, mnemonic, Xi64, opnode>;
+    let mayLoad = 1, mayStore = 1 in {
+      def NAME#8mr    : BinOpMR_RMW<BaseOpc, mnemonic, Xi8 , opnode>;
+      def NAME#16mr   : BinOpMR_RMW<BaseOpc, mnemonic, Xi16, opnode>;
+      def NAME#32mr   : BinOpMR_RMW<BaseOpc, mnemonic, Xi32, opnode>;
+      def NAME#64mr   : BinOpMR_RMW<BaseOpc, mnemonic, Xi64, opnode>;
+    }
 
     // NOTE: These are order specific, we want the mi8 forms to be listed
     // first so that they are slightly preferred to the mi forms.