[llvm] 51dec88 - [X86] Remove isCommutable flag from MULX instructions.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Sun May 24 15:03:01 PDT 2020


Author: Craig Topper
Date: 2020-05-24T15:02:36-07:00
New Revision: 51dec88c5df26d4ecb5ca3016f0a1c8668685f35

URL: https://github.com/llvm/llvm-project/commit/51dec88c5df26d4ecb5ca3016f0a1c8668685f35
DIFF: https://github.com/llvm/llvm-project/commit/51dec88c5df26d4ecb5ca3016f0a1c8668685f35.diff

LOG: [X86] Remove isCommutable flag from MULX instructions.

The fixed register constraint on EDX/RDX as an input
makes this not really commutable.

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/X86/X86InstrArithmetic.td b/llvm/lib/Target/X86/X86InstrArithmetic.td
index 1e399a894490..57ad893402aa 100644
--- a/llvm/lib/Target/X86/X86InstrArithmetic.td
+++ b/llvm/lib/Target/X86/X86InstrArithmetic.td
@@ -1306,7 +1306,6 @@ let Predicates = [HasBMI], AddedComplexity = -6 in {
 multiclass bmi_mulx<string mnemonic, RegisterClass RC, X86MemOperand x86memop,
                     X86FoldableSchedWrite sched> {
 let hasSideEffects = 0 in {
-  let isCommutable = 1 in
   def rr : I<0xF6, MRMSrcReg, (outs RC:$dst1, RC:$dst2), (ins RC:$src),
              !strconcat(mnemonic, "\t{$src, $dst2, $dst1|$dst1, $dst2, $src}"),
              []>, T8XD, VEX_4V, Sched<[sched, WriteIMulH]>;


        


More information about the llvm-commits mailing list