[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