[llvm] 50a3717 - [X86] Fix instr desc of CFCMOV's 'mr' variants

via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 16 16:10:15 PDT 2024


Author: darkbuck
Date: 2024-04-16T19:10:11-04:00
New Revision: 50a371795bcfe0731f8882e42712dff33cbbef9b

URL: https://github.com/llvm/llvm-project/commit/50a371795bcfe0731f8882e42712dff33cbbef9b
DIFF: https://github.com/llvm/llvm-project/commit/50a371795bcfe0731f8882e42712dff33cbbef9b.diff

LOG: [X86] Fix instr desc of CFCMOV's 'mr' variants

- With the memory operand as the destination, 'mr' variants of CFCMOV
  works like STORE and their memory operands should be input operands
  instead of output ones.

Reviewers: XinWang10, arsenm

Pull Request: https://github.com/llvm/llvm-project/pull/88970

Added: 
    

Modified: 
    llvm/lib/Target/X86/X86InstrCMovSetCC.td

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/X86/X86InstrCMovSetCC.td b/llvm/lib/Target/X86/X86InstrCMovSetCC.td
index 27a0c889a4da3e..e27aa4115990e9 100644
--- a/llvm/lib/Target/X86/X86InstrCMovSetCC.td
+++ b/llvm/lib/Target/X86/X86InstrCMovSetCC.td
@@ -58,8 +58,8 @@ let SchedRW = [WriteCMOV.Folded, WriteCMOV.ReadAfterFold] in {
 }
 let SchedRW = [WriteCMOV, ReadDefault, ReadDefault, ReadDefault, ReadDefault, ReadDefault],
     Predicates = [HasCMOV, HasCF, In64BitMode], mayStore = 1 in
-  def mr : ITy<0x40, MRMDestMemCC, t, (outs t.MemOperand:$dst),
-                (ins t.RegClass:$src1, ccode:$cond),
+  def mr : ITy<0x40, MRMDestMemCC, t, (outs),
+                (ins t.MemOperand:$dst, t.RegClass:$src1, ccode:$cond),
                 "cfcmov${cond}", unaryop_ndd_args, []>, UseEFLAGS, NF;
 }
 


        


More information about the llvm-commits mailing list