[PATCH] D48878: [X86][BtVer2][NFC] Regexify zero-idioms
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 3 06:36:04 PDT 2018
lebedev.ri created this revision.
lebedev.ri added a reviewer: RKSimon.
Herald added a subscriber: llvm-commits.
Repository:
rL LLVM
https://reviews.llvm.org/D48878
Files:
lib/Target/X86/X86ScheduleBtVer2.td
Index: lib/Target/X86/X86ScheduleBtVer2.td
===================================================================
--- lib/Target/X86/X86ScheduleBtVer2.td
+++ lib/Target/X86/X86ScheduleBtVer2.td
@@ -609,57 +609,36 @@
SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [JWriteZeroLatency]>,
SchedVar<MCSchedPredicate<TruePred>, [WriteALU]>
]>;
-def : InstRW<[JWriteZeroIdiom], (instrs SUB32rr, SUB64rr,
- XOR32rr, XOR64rr)>;
+def : InstRW<[JWriteZeroIdiom], (instregex "(SUB|XOR)(32|64)rr")>;
def JWriteFZeroIdiom : SchedWriteVariant<[
SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [JWriteZeroLatency]>,
SchedVar<MCSchedPredicate<TruePred>, [WriteFLogic]>
]>;
-def : InstRW<[JWriteFZeroIdiom], (instrs XORPSrr, VXORPSrr, XORPDrr, VXORPDrr,
- ANDNPSrr, VANDNPSrr,
- ANDNPDrr, VANDNPDrr)>;
+def : InstRW<[JWriteFZeroIdiom], (instregex "(V?)(XOR|ANDN)P(S|D)rr")>;
def JWriteVZeroIdiomLogic : SchedWriteVariant<[
SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [JWriteZeroLatency]>,
SchedVar<MCSchedPredicate<TruePred>, [WriteVecLogic]>
]>;
-def : InstRW<[JWriteVZeroIdiomLogic], (instrs MMX_PXORirr, MMX_PANDNirr)>;
+def : InstRW<[JWriteVZeroIdiomLogic], (instregex "MMX_P(XOR|ANDN)irr")>;
def JWriteVZeroIdiomLogicX : SchedWriteVariant<[
SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [JWriteZeroLatency]>,
SchedVar<MCSchedPredicate<TruePred>, [WriteVecLogicX]>
]>;
-def : InstRW<[JWriteVZeroIdiomLogicX], (instrs PXORrr, VPXORrr,
- PANDNrr, VPANDNrr)>;
+def : InstRW<[JWriteVZeroIdiomLogicX], (instregex "(V?)P(XOR|ANDN)rr")>;
def JWriteVZeroIdiomALU : SchedWriteVariant<[
SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [JWriteZeroLatency]>,
SchedVar<MCSchedPredicate<TruePred>, [WriteVecALU]>
]>;
-def : InstRW<[JWriteVZeroIdiomALU], (instrs MMX_PSUBBirr, MMX_PSUBDirr,
- MMX_PSUBQirr, MMX_PSUBWirr,
- MMX_PCMPEQBirr,
- MMX_PCMPEQDirr,
- MMX_PCMPEQWirr,
- MMX_PCMPGTBirr,
- MMX_PCMPGTDirr,
- MMX_PCMPGTWirr)>;
+def : InstRW<[JWriteVZeroIdiomALU], (instregex "MMX_P(SUB(B|D|Q|W)|(CMP(EQ|GT)(B|D|W)))irr")>;
def JWriteVZeroIdiomALUX : SchedWriteVariant<[
SchedVar<MCSchedPredicate<ZeroIdiomPredicate>, [JWriteZeroLatency]>,
SchedVar<MCSchedPredicate<TruePred>, [WriteVecALUX]>
]>;
-def : InstRW<[JWriteVZeroIdiomALUX], (instrs PSUBBrr, VPSUBBrr,
- PSUBDrr, VPSUBDrr,
- PSUBQrr, VPSUBQrr,
- PSUBWrr, VPSUBWrr,
- PCMPEQBrr, VPCMPEQBrr,
- PCMPEQDrr, VPCMPEQDrr,
- PCMPEQQrr, VPCMPEQQrr,
- PCMPEQWrr, VPCMPEQWrr,
- PCMPGTBrr, VPCMPGTBrr,
- PCMPGTDrr, VPCMPGTDrr,
- PCMPGTQrr, VPCMPGTQrr,
- PCMPGTWrr, VPCMPGTWrr)>;
+def : InstRW<[JWriteVZeroIdiomALUX], (instregex "(V?)P(SUB(B|D|Q|W)|(CMP(EQ|GT)(B|D|Q|W)))rr")>;
+
} // SchedModel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D48878.153904.patch
Type: text/x-patch
Size: 3709 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180703/be63c4c6/attachment.bin>
More information about the llvm-commits
mailing list