[llvm] c67773b - [X86] Give KSET0* and KSET1* pseudos the same scheduler resource usage as KXOR/KXNOR.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 4 15:24:32 PST 2020


Author: Craig Topper
Date: 2020-02-04T15:22:54-08:00
New Revision: c67773bebef1745ade1a729263cd63628c97e813

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

LOG: [X86] Give KSET0* and KSET1* pseudos the same scheduler resource usage as KXOR/KXNOR.

These aren't recognized as idioms by the CPU so they still use
execution resources. We just use the pseudo to force the input
register to k0.

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/X86/X86SchedSkylakeServer.td b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
index acaf4c2bdcac..3fdc8dda1d06 100644
--- a/llvm/lib/Target/X86/X86SchedSkylakeServer.td
+++ b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
@@ -620,6 +620,8 @@ def: InstRW<[SKXWriteResGroup1], (instregex "KAND(B|D|Q|W)rr",
                                             "KOR(B|D|Q|W)rr",
                                             "KXNOR(B|D|Q|W)rr",
                                             "KXOR(B|D|Q|W)rr",
+                                            "KSET0(B|D|Q|W)", // Same as KXOR
+                                            "KSET1(B|D|Q|W)", // Same as KXNOR
                                             "MMX_PADDS(B|W)irr",
                                             "MMX_PADDUS(B|W)irr",
                                             "MMX_PAVG(B|W)irr",


        


More information about the llvm-commits mailing list