[llvm] r356384 - [X86] Remove the _alt forms of (V)CMP instructions. Use a combination of custom printing and custom parsing to achieve the same result and more
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 18 10:59:59 PDT 2019
Author: ctopper
Date: Mon Mar 18 10:59:59 2019
New Revision: 356384
URL: http://llvm.org/viewvc/llvm-project?rev=356384&view=rev
Log:
[X86] Remove the _alt forms of (V)CMP instructions. Use a combination of custom printing and custom parsing to achieve the same result and more
Similar to previous change done for VPCOM and VPCMP
Differential Revision: https://reviews.llvm.org/D59468
Modified:
llvm/trunk/include/llvm/Support/X86DisassemblerDecoderCommon.h
llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
llvm/trunk/lib/Target/X86/Disassembler/X86Disassembler.cpp
llvm/trunk/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
llvm/trunk/lib/Target/X86/InstPrinter/X86InstPrinterCommon.cpp
llvm/trunk/lib/Target/X86/InstPrinter/X86InstPrinterCommon.h
llvm/trunk/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
llvm/trunk/lib/Target/X86/X86InstrAVX512.td
llvm/trunk/lib/Target/X86/X86InstrInfo.td
llvm/trunk/lib/Target/X86/X86InstrSSE.td
llvm/trunk/test/MC/X86/x86-32-avx.s
llvm/trunk/test/MC/X86/x86-32.s
llvm/trunk/test/MC/X86/x86_64-avx-encoding.s
llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-sse1.s
llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-sse2.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-sse1.s
llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-sse2.s
llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-sse1.s
llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s
llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx1.s
llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-sse1.s
llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-sse2.s
llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-sse1.s
llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-sse2.s
llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-sse1.s
llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-sse2.s
llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s
llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s
llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s
llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s
llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-sse1.s
llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-sse2.s
llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp
Modified: llvm/trunk/include/llvm/Support/X86DisassemblerDecoderCommon.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/X86DisassemblerDecoderCommon.h?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/X86DisassemblerDecoderCommon.h (original)
+++ llvm/trunk/include/llvm/Support/X86DisassemblerDecoderCommon.h Mon Mar 18 10:59:59 2019
@@ -414,8 +414,6 @@ enum OperandEncoding {
ENUM_ENTRY(TYPE_R32, "4-byte") \
ENUM_ENTRY(TYPE_R64, "8-byte") \
ENUM_ENTRY(TYPE_IMM, "immediate operand") \
- ENUM_ENTRY(TYPE_IMM3, "1-byte immediate operand between 0 and 7") \
- ENUM_ENTRY(TYPE_IMM5, "1-byte immediate operand between 0 and 31") \
ENUM_ENTRY(TYPE_UIMM8, "1-byte unsigned immediate operand") \
ENUM_ENTRY(TYPE_M, "Memory operand") \
ENUM_ENTRY(TYPE_MVSIBX, "Memory operand using XMM index") \
Modified: llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp (original)
+++ llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp Mon Mar 18 10:59:59 2019
@@ -2318,13 +2318,15 @@ bool X86AsmParser::ParseInstruction(Pars
PatchedName != "setb" && PatchedName != "setnb")
PatchedName = PatchedName.substr(0, Name.size()-1);
+ unsigned ComparisonCode = ~0U;
+
// FIXME: Hack to recognize cmp<comparison code>{ss,sd,ps,pd}.
if ((PatchedName.startswith("cmp") || PatchedName.startswith("vcmp")) &&
(PatchedName.endswith("ss") || PatchedName.endswith("sd") ||
PatchedName.endswith("ps") || PatchedName.endswith("pd"))) {
bool IsVCMP = PatchedName[0] == 'v';
unsigned CCIdx = IsVCMP ? 4 : 3;
- unsigned ComparisonCode = StringSwitch<unsigned>(
+ unsigned CC = StringSwitch<unsigned>(
PatchedName.slice(CCIdx, PatchedName.size() - 2))
.Case("eq", 0x00)
.Case("eq_oq", 0x00)
@@ -2374,21 +2376,22 @@ bool X86AsmParser::ParseInstruction(Pars
.Case("gt_oq", 0x1E)
.Case("true_us", 0x1F)
.Default(~0U);
- if (ComparisonCode != ~0U && (IsVCMP || ComparisonCode < 8)) {
-
- Operands.push_back(X86Operand::CreateToken(PatchedName.slice(0, CCIdx),
- NameLoc));
+ if (CC != ~0U && (IsVCMP || CC < 8)) {
+ if (PatchedName.endswith("ss"))
+ PatchedName = IsVCMP ? "vcmpss" : "cmpss";
+ else if (PatchedName.endswith("sd"))
+ PatchedName = IsVCMP ? "vcmpsd" : "cmpsd";
+ else if (PatchedName.endswith("ps"))
+ PatchedName = IsVCMP ? "vcmpps" : "cmpps";
+ else if (PatchedName.endswith("pd"))
+ PatchedName = IsVCMP ? "vcmppd" : "cmppd";
+ else
+ llvm_unreachable("Unexpecte suffix!");
- const MCExpr *ImmOp = MCConstantExpr::create(ComparisonCode,
- getParser().getContext());
- Operands.push_back(X86Operand::CreateImm(ImmOp, NameLoc, NameLoc));
-
- PatchedName = PatchedName.substr(PatchedName.size() - 2);
+ ComparisonCode = CC;
}
}
- unsigned ComparisonCode = ~0U;
-
// FIXME: Hack to recognize vpcmp<comparison code>{ub,uw,ud,uq,b,w,d,q}.
if (PatchedName.startswith("vpcmp") &&
(PatchedName.back() == 'b' || PatchedName.back() == 'w' ||
Modified: llvm/trunk/lib/Target/X86/Disassembler/X86Disassembler.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/Disassembler/X86Disassembler.cpp?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/Disassembler/X86Disassembler.cpp (original)
+++ llvm/trunk/lib/Target/X86/Disassembler/X86Disassembler.cpp Mon Mar 18 10:59:59 2019
@@ -445,66 +445,6 @@ static void translateImmediate(MCInst &m
case ENCODING_IO:
break;
}
- } else if (type == TYPE_IMM3) {
- // Check for immediates that printSSECC can't handle.
- if (immediate >= 8) {
- unsigned NewOpc;
- switch (mcInst.getOpcode()) {
- default: llvm_unreachable("unexpected opcode");
- case X86::CMPPDrmi: NewOpc = X86::CMPPDrmi_alt; break;
- case X86::CMPPDrri: NewOpc = X86::CMPPDrri_alt; break;
- case X86::CMPPSrmi: NewOpc = X86::CMPPSrmi_alt; break;
- case X86::CMPPSrri: NewOpc = X86::CMPPSrri_alt; break;
- case X86::CMPSDrm: NewOpc = X86::CMPSDrm_alt; break;
- case X86::CMPSDrr: NewOpc = X86::CMPSDrr_alt; break;
- case X86::CMPSSrm: NewOpc = X86::CMPSSrm_alt; break;
- case X86::CMPSSrr: NewOpc = X86::CMPSSrr_alt; break;
- }
- // Switch opcode to the one that doesn't get special printing.
- mcInst.setOpcode(NewOpc);
- }
- } else if (type == TYPE_IMM5) {
- // Check for immediates that printAVXCC can't handle.
- if (immediate >= 32) {
- unsigned NewOpc;
- switch (mcInst.getOpcode()) {
- default: llvm_unreachable("unexpected opcode");
- case X86::VCMPPDrmi: NewOpc = X86::VCMPPDrmi_alt; break;
- case X86::VCMPPDrri: NewOpc = X86::VCMPPDrri_alt; break;
- case X86::VCMPPSrmi: NewOpc = X86::VCMPPSrmi_alt; break;
- case X86::VCMPPSrri: NewOpc = X86::VCMPPSrri_alt; break;
- case X86::VCMPSDrm: NewOpc = X86::VCMPSDrm_alt; break;
- case X86::VCMPSDrr: NewOpc = X86::VCMPSDrr_alt; break;
- case X86::VCMPSSrm: NewOpc = X86::VCMPSSrm_alt; break;
- case X86::VCMPSSrr: NewOpc = X86::VCMPSSrr_alt; break;
- case X86::VCMPPDYrmi: NewOpc = X86::VCMPPDYrmi_alt; break;
- case X86::VCMPPDYrri: NewOpc = X86::VCMPPDYrri_alt; break;
- case X86::VCMPPSYrmi: NewOpc = X86::VCMPPSYrmi_alt; break;
- case X86::VCMPPSYrri: NewOpc = X86::VCMPPSYrri_alt; break;
- case X86::VCMPPDZrmi: NewOpc = X86::VCMPPDZrmi_alt; break;
- case X86::VCMPPDZrri: NewOpc = X86::VCMPPDZrri_alt; break;
- case X86::VCMPPDZrrib: NewOpc = X86::VCMPPDZrrib_alt; break;
- case X86::VCMPPSZrmi: NewOpc = X86::VCMPPSZrmi_alt; break;
- case X86::VCMPPSZrri: NewOpc = X86::VCMPPSZrri_alt; break;
- case X86::VCMPPSZrrib: NewOpc = X86::VCMPPSZrrib_alt; break;
- case X86::VCMPPDZ128rmi: NewOpc = X86::VCMPPDZ128rmi_alt; break;
- case X86::VCMPPDZ128rri: NewOpc = X86::VCMPPDZ128rri_alt; break;
- case X86::VCMPPSZ128rmi: NewOpc = X86::VCMPPSZ128rmi_alt; break;
- case X86::VCMPPSZ128rri: NewOpc = X86::VCMPPSZ128rri_alt; break;
- case X86::VCMPPDZ256rmi: NewOpc = X86::VCMPPDZ256rmi_alt; break;
- case X86::VCMPPDZ256rri: NewOpc = X86::VCMPPDZ256rri_alt; break;
- case X86::VCMPPSZ256rmi: NewOpc = X86::VCMPPSZ256rmi_alt; break;
- case X86::VCMPPSZ256rri: NewOpc = X86::VCMPPSZ256rri_alt; break;
- case X86::VCMPSDZrm_Int: NewOpc = X86::VCMPSDZrmi_alt; break;
- case X86::VCMPSDZrr_Int: NewOpc = X86::VCMPSDZrri_alt; break;
- case X86::VCMPSDZrrb_Int: NewOpc = X86::VCMPSDZrrb_alt; break;
- case X86::VCMPSSZrm_Int: NewOpc = X86::VCMPSSZrmi_alt; break;
- case X86::VCMPSSZrr_Int: NewOpc = X86::VCMPSSZrri_alt; break;
- case X86::VCMPSSZrrb_Int: NewOpc = X86::VCMPSSZrrb_alt; break;
- }
- // Switch opcode to the one that doesn't get special printing.
- mcInst.setOpcode(NewOpc);
- }
}
switch (type) {
Modified: llvm/trunk/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp (original)
+++ llvm/trunk/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp Mon Mar 18 10:59:59 2019
@@ -88,6 +88,127 @@ bool X86ATTInstPrinter::printVecCompareI
// Custom print the vector compare instructions to get the immediate
// translated into the mnemonic.
switch (MI->getOpcode()) {
+ case X86::CMPPDrmi: case X86::CMPPDrri:
+ case X86::CMPPSrmi: case X86::CMPPSrri:
+ case X86::CMPSDrm: case X86::CMPSDrr:
+ case X86::CMPSDrm_Int: case X86::CMPSDrr_Int:
+ case X86::CMPSSrm: case X86::CMPSSrr:
+ case X86::CMPSSrm_Int: case X86::CMPSSrr_Int:
+ if (Imm >= 0 && Imm <= 7) {
+ OS << '\t';
+ printCMPMnemonic(MI, /*IsVCMP*/false, OS);
+
+ if ((Desc.TSFlags & X86II::FormMask) == X86II::MRMSrcMem) {
+ if ((Desc.TSFlags & X86II::OpPrefixMask) == X86II::XS)
+ printdwordmem(MI, 2, OS);
+ else if ((Desc.TSFlags & X86II::OpPrefixMask) == X86II::XD)
+ printqwordmem(MI, 2, OS);
+ else
+ printxmmwordmem(MI, 2, OS);
+ } else
+ printOperand(MI, 2, OS);
+
+ // Skip operand 1 as its tied to the dest.
+
+ OS << ", ";
+ printOperand(MI, 0, OS);
+ return true;
+ }
+ break;
+
+ case X86::VCMPPDrmi: case X86::VCMPPDrri:
+ case X86::VCMPPDYrmi: case X86::VCMPPDYrri:
+ case X86::VCMPPDZ128rmi: case X86::VCMPPDZ128rri:
+ case X86::VCMPPDZ256rmi: case X86::VCMPPDZ256rri:
+ case X86::VCMPPDZrmi: case X86::VCMPPDZrri:
+ case X86::VCMPPSrmi: case X86::VCMPPSrri:
+ case X86::VCMPPSYrmi: case X86::VCMPPSYrri:
+ case X86::VCMPPSZ128rmi: case X86::VCMPPSZ128rri:
+ case X86::VCMPPSZ256rmi: case X86::VCMPPSZ256rri:
+ case X86::VCMPPSZrmi: case X86::VCMPPSZrri:
+ case X86::VCMPSDrm: case X86::VCMPSDrr:
+ case X86::VCMPSDZrm: case X86::VCMPSDZrr:
+ case X86::VCMPSDrm_Int: case X86::VCMPSDrr_Int:
+ case X86::VCMPSDZrm_Int: case X86::VCMPSDZrr_Int:
+ case X86::VCMPSSrm: case X86::VCMPSSrr:
+ case X86::VCMPSSZrm: case X86::VCMPSSZrr:
+ case X86::VCMPSSrm_Int: case X86::VCMPSSrr_Int:
+ case X86::VCMPSSZrm_Int: case X86::VCMPSSZrr_Int:
+ case X86::VCMPPDZ128rmik: case X86::VCMPPDZ128rrik:
+ case X86::VCMPPDZ256rmik: case X86::VCMPPDZ256rrik:
+ case X86::VCMPPDZrmik: case X86::VCMPPDZrrik:
+ case X86::VCMPPSZ128rmik: case X86::VCMPPSZ128rrik:
+ case X86::VCMPPSZ256rmik: case X86::VCMPPSZ256rrik:
+ case X86::VCMPPSZrmik: case X86::VCMPPSZrrik:
+ case X86::VCMPSDZrm_Intk: case X86::VCMPSDZrr_Intk:
+ case X86::VCMPSSZrm_Intk: case X86::VCMPSSZrr_Intk:
+ case X86::VCMPPDZ128rmbi: case X86::VCMPPDZ128rmbik:
+ case X86::VCMPPDZ256rmbi: case X86::VCMPPDZ256rmbik:
+ case X86::VCMPPDZrmbi: case X86::VCMPPDZrmbik:
+ case X86::VCMPPSZ128rmbi: case X86::VCMPPSZ128rmbik:
+ case X86::VCMPPSZ256rmbi: case X86::VCMPPSZ256rmbik:
+ case X86::VCMPPSZrmbi: case X86::VCMPPSZrmbik:
+ case X86::VCMPPDZrrib: case X86::VCMPPDZrribk:
+ case X86::VCMPPSZrrib: case X86::VCMPPSZrribk:
+ case X86::VCMPSDZrrb_Int: case X86::VCMPSDZrrb_Intk:
+ case X86::VCMPSSZrrb_Int: case X86::VCMPSSZrrb_Intk:
+ if (Imm >= 0 && Imm <= 31) {
+ OS << '\t';
+ printCMPMnemonic(MI, /*IsVCMP*/true, OS);
+
+ unsigned CurOp = (Desc.TSFlags & X86II::EVEX_K) ? 3 : 2;
+
+ if ((Desc.TSFlags & X86II::FormMask) == X86II::MRMSrcMem) {
+ if (Desc.TSFlags & X86II::EVEX_B) {
+ // Broadcast form.
+ // Load size is based on W-bit.
+ if (Desc.TSFlags & X86II::VEX_W)
+ printqwordmem(MI, CurOp--, OS);
+ else
+ printdwordmem(MI, CurOp--, OS);
+
+ // Print the number of elements broadcasted.
+ unsigned NumElts;
+ if (Desc.TSFlags & X86II::EVEX_L2)
+ NumElts = (Desc.TSFlags & X86II::VEX_W) ? 8 : 16;
+ else if (Desc.TSFlags & X86II::VEX_L)
+ NumElts = (Desc.TSFlags & X86II::VEX_W) ? 4 : 8;
+ else
+ NumElts = (Desc.TSFlags & X86II::VEX_W) ? 2 : 4;
+ OS << "{1to" << NumElts << "}";
+ } else {
+ if ((Desc.TSFlags & X86II::OpPrefixMask) == X86II::XS)
+ printdwordmem(MI, CurOp--, OS);
+ else if ((Desc.TSFlags & X86II::OpPrefixMask) == X86II::XD)
+ printqwordmem(MI, CurOp--, OS);
+ else if (Desc.TSFlags & X86II::EVEX_L2)
+ printzmmwordmem(MI, CurOp--, OS);
+ else if (Desc.TSFlags & X86II::VEX_L)
+ printymmwordmem(MI, CurOp--, OS);
+ else
+ printxmmwordmem(MI, CurOp--, OS);
+ }
+ } else {
+ if (Desc.TSFlags & X86II::EVEX_B)
+ OS << "{sae}, ";
+ printOperand(MI, CurOp--, OS);
+ }
+
+ OS << ", ";
+ printOperand(MI, CurOp--, OS);
+ OS << ", ";
+ printOperand(MI, 0, OS);
+ if (CurOp > 0) {
+ // Print mask operand.
+ OS << " {";
+ printOperand(MI, CurOp--, OS);
+ OS << "}";
+ }
+
+ return true;
+ }
+ break;
+
case X86::VPCOMBmi: case X86::VPCOMBri:
case X86::VPCOMDmi: case X86::VPCOMDri:
case X86::VPCOMQmi: case X86::VPCOMQri:
Modified: llvm/trunk/lib/Target/X86/InstPrinter/X86InstPrinterCommon.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/InstPrinter/X86InstPrinterCommon.cpp?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/InstPrinter/X86InstPrinterCommon.cpp (original)
+++ llvm/trunk/lib/Target/X86/InstPrinter/X86InstPrinterCommon.cpp Mon Mar 18 10:59:59 2019
@@ -181,6 +181,67 @@ void X86InstPrinterCommon::printVPCMPMne
}
}
+void X86InstPrinterCommon::printCMPMnemonic(const MCInst *MI, bool IsVCmp,
+ raw_ostream &OS) {
+ OS << (IsVCmp ? "vcmp" : "cmp");
+
+ printSSEAVXCC(MI, MI->getNumOperands() - 1, OS);
+
+ switch (MI->getOpcode()) {
+ default: llvm_unreachable("Unexpected opcode!");
+ case X86::CMPPDrmi: case X86::CMPPDrri:
+ case X86::VCMPPDrmi: case X86::VCMPPDrri:
+ case X86::VCMPPDYrmi: case X86::VCMPPDYrri:
+ case X86::VCMPPDZ128rmi: case X86::VCMPPDZ128rri:
+ case X86::VCMPPDZ256rmi: case X86::VCMPPDZ256rri:
+ case X86::VCMPPDZrmi: case X86::VCMPPDZrri:
+ case X86::VCMPPDZ128rmik: case X86::VCMPPDZ128rrik:
+ case X86::VCMPPDZ256rmik: case X86::VCMPPDZ256rrik:
+ case X86::VCMPPDZrmik: case X86::VCMPPDZrrik:
+ case X86::VCMPPDZ128rmbi: case X86::VCMPPDZ128rmbik:
+ case X86::VCMPPDZ256rmbi: case X86::VCMPPDZ256rmbik:
+ case X86::VCMPPDZrmbi: case X86::VCMPPDZrmbik:
+ case X86::VCMPPDZrrib: case X86::VCMPPDZrribk:
+ OS << "pd\t";
+ break;
+ case X86::CMPPSrmi: case X86::CMPPSrri:
+ case X86::VCMPPSrmi: case X86::VCMPPSrri:
+ case X86::VCMPPSYrmi: case X86::VCMPPSYrri:
+ case X86::VCMPPSZ128rmi: case X86::VCMPPSZ128rri:
+ case X86::VCMPPSZ256rmi: case X86::VCMPPSZ256rri:
+ case X86::VCMPPSZrmi: case X86::VCMPPSZrri:
+ case X86::VCMPPSZ128rmik: case X86::VCMPPSZ128rrik:
+ case X86::VCMPPSZ256rmik: case X86::VCMPPSZ256rrik:
+ case X86::VCMPPSZrmik: case X86::VCMPPSZrrik:
+ case X86::VCMPPSZ128rmbi: case X86::VCMPPSZ128rmbik:
+ case X86::VCMPPSZ256rmbi: case X86::VCMPPSZ256rmbik:
+ case X86::VCMPPSZrmbi: case X86::VCMPPSZrmbik:
+ case X86::VCMPPSZrrib: case X86::VCMPPSZrribk:
+ OS << "ps\t";
+ break;
+ case X86::CMPSDrm: case X86::CMPSDrr:
+ case X86::CMPSDrm_Int: case X86::CMPSDrr_Int:
+ case X86::VCMPSDrm: case X86::VCMPSDrr:
+ case X86::VCMPSDrm_Int: case X86::VCMPSDrr_Int:
+ case X86::VCMPSDZrm: case X86::VCMPSDZrr:
+ case X86::VCMPSDZrm_Int: case X86::VCMPSDZrr_Int:
+ case X86::VCMPSDZrm_Intk: case X86::VCMPSDZrr_Intk:
+ case X86::VCMPSDZrrb_Int: case X86::VCMPSDZrrb_Intk:
+ OS << "sd\t";
+ break;
+ case X86::CMPSSrm: case X86::CMPSSrr:
+ case X86::CMPSSrm_Int: case X86::CMPSSrr_Int:
+ case X86::VCMPSSrm: case X86::VCMPSSrr:
+ case X86::VCMPSSrm_Int: case X86::VCMPSSrr_Int:
+ case X86::VCMPSSZrm: case X86::VCMPSSZrr:
+ case X86::VCMPSSZrm_Int: case X86::VCMPSSZrr_Int:
+ case X86::VCMPSSZrm_Intk: case X86::VCMPSSZrr_Intk:
+ case X86::VCMPSSZrrb_Int: case X86::VCMPSSZrrb_Intk:
+ OS << "ss\t";
+ break;
+ }
+}
+
void X86InstPrinterCommon::printRoundingControl(const MCInst *MI, unsigned Op,
raw_ostream &O) {
int64_t Imm = MI->getOperand(Op).getImm();
Modified: llvm/trunk/lib/Target/X86/InstPrinter/X86InstPrinterCommon.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/InstPrinter/X86InstPrinterCommon.h?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/InstPrinter/X86InstPrinterCommon.h (original)
+++ llvm/trunk/lib/Target/X86/InstPrinter/X86InstPrinterCommon.h Mon Mar 18 10:59:59 2019
@@ -26,6 +26,7 @@ public:
void printSSEAVXCC(const MCInst *MI, unsigned Op, raw_ostream &OS);
void printVPCOMMnemonic(const MCInst *MI, raw_ostream &OS);
void printVPCMPMnemonic(const MCInst *MI, raw_ostream &OS);
+ void printCMPMnemonic(const MCInst *MI, bool IsVCmp, raw_ostream &OS);
void printRoundingControl(const MCInst *MI, unsigned Op, raw_ostream &O);
void printPCRelImm(const MCInst *MI, unsigned OpNo, raw_ostream &O);
protected:
Modified: llvm/trunk/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp (original)
+++ llvm/trunk/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp Mon Mar 18 10:59:59 2019
@@ -69,6 +69,126 @@ bool X86IntelInstPrinter::printVecCompar
// Custom print the vector compare instructions to get the immediate
// translated into the mnemonic.
switch (MI->getOpcode()) {
+ case X86::CMPPDrmi: case X86::CMPPDrri:
+ case X86::CMPPSrmi: case X86::CMPPSrri:
+ case X86::CMPSDrm: case X86::CMPSDrr:
+ case X86::CMPSDrm_Int: case X86::CMPSDrr_Int:
+ case X86::CMPSSrm: case X86::CMPSSrr:
+ case X86::CMPSSrm_Int: case X86::CMPSSrr_Int:
+ if (Imm >= 0 && Imm <= 7) {
+ OS << '\t';
+ printCMPMnemonic(MI, /*IsVCMP*/false, OS);
+ printOperand(MI, 0, OS);
+ OS << ", ";
+ // Skip operand 1 as its tied to the dest.
+
+ if ((Desc.TSFlags & X86II::FormMask) == X86II::MRMSrcMem) {
+ if ((Desc.TSFlags & X86II::OpPrefixMask) == X86II::XS)
+ printdwordmem(MI, 2, OS);
+ else if ((Desc.TSFlags & X86II::OpPrefixMask) == X86II::XD)
+ printqwordmem(MI, 2, OS);
+ else
+ printxmmwordmem(MI, 2, OS);
+ } else
+ printOperand(MI, 2, OS);
+
+ return true;
+ }
+ break;
+
+ case X86::VCMPPDrmi: case X86::VCMPPDrri:
+ case X86::VCMPPDYrmi: case X86::VCMPPDYrri:
+ case X86::VCMPPDZ128rmi: case X86::VCMPPDZ128rri:
+ case X86::VCMPPDZ256rmi: case X86::VCMPPDZ256rri:
+ case X86::VCMPPDZrmi: case X86::VCMPPDZrri:
+ case X86::VCMPPSrmi: case X86::VCMPPSrri:
+ case X86::VCMPPSYrmi: case X86::VCMPPSYrri:
+ case X86::VCMPPSZ128rmi: case X86::VCMPPSZ128rri:
+ case X86::VCMPPSZ256rmi: case X86::VCMPPSZ256rri:
+ case X86::VCMPPSZrmi: case X86::VCMPPSZrri:
+ case X86::VCMPSDrm: case X86::VCMPSDrr:
+ case X86::VCMPSDZrm: case X86::VCMPSDZrr:
+ case X86::VCMPSDrm_Int: case X86::VCMPSDrr_Int:
+ case X86::VCMPSDZrm_Int: case X86::VCMPSDZrr_Int:
+ case X86::VCMPSSrm: case X86::VCMPSSrr:
+ case X86::VCMPSSZrm: case X86::VCMPSSZrr:
+ case X86::VCMPSSrm_Int: case X86::VCMPSSrr_Int:
+ case X86::VCMPSSZrm_Int: case X86::VCMPSSZrr_Int:
+ case X86::VCMPPDZ128rmik: case X86::VCMPPDZ128rrik:
+ case X86::VCMPPDZ256rmik: case X86::VCMPPDZ256rrik:
+ case X86::VCMPPDZrmik: case X86::VCMPPDZrrik:
+ case X86::VCMPPSZ128rmik: case X86::VCMPPSZ128rrik:
+ case X86::VCMPPSZ256rmik: case X86::VCMPPSZ256rrik:
+ case X86::VCMPPSZrmik: case X86::VCMPPSZrrik:
+ case X86::VCMPSDZrm_Intk: case X86::VCMPSDZrr_Intk:
+ case X86::VCMPSSZrm_Intk: case X86::VCMPSSZrr_Intk:
+ case X86::VCMPPDZ128rmbi: case X86::VCMPPDZ128rmbik:
+ case X86::VCMPPDZ256rmbi: case X86::VCMPPDZ256rmbik:
+ case X86::VCMPPDZrmbi: case X86::VCMPPDZrmbik:
+ case X86::VCMPPSZ128rmbi: case X86::VCMPPSZ128rmbik:
+ case X86::VCMPPSZ256rmbi: case X86::VCMPPSZ256rmbik:
+ case X86::VCMPPSZrmbi: case X86::VCMPPSZrmbik:
+ case X86::VCMPPDZrrib: case X86::VCMPPDZrribk:
+ case X86::VCMPPSZrrib: case X86::VCMPPSZrribk:
+ case X86::VCMPSDZrrb_Int: case X86::VCMPSDZrrb_Intk:
+ case X86::VCMPSSZrrb_Int: case X86::VCMPSSZrrb_Intk:
+ if (Imm >= 0 && Imm <= 31) {
+ OS << '\t';
+ printCMPMnemonic(MI, /*IsVCMP*/true, OS);
+
+ unsigned CurOp = 0;
+ printOperand(MI, CurOp++, OS);
+
+ if (Desc.TSFlags & X86II::EVEX_K) {
+ // Print mask operand.
+ OS << " {";
+ printOperand(MI, CurOp++, OS);
+ OS << "}";
+ }
+ OS << ", ";
+ printOperand(MI, CurOp++, OS);
+ OS << ", ";
+
+ if ((Desc.TSFlags & X86II::FormMask) == X86II::MRMSrcMem) {
+ if (Desc.TSFlags & X86II::EVEX_B) {
+ // Broadcast form.
+ // Load size is based on W-bit.
+ if (Desc.TSFlags & X86II::VEX_W)
+ printqwordmem(MI, CurOp++, OS);
+ else
+ printdwordmem(MI, CurOp++, OS);
+
+ // Print the number of elements broadcasted.
+ unsigned NumElts;
+ if (Desc.TSFlags & X86II::EVEX_L2)
+ NumElts = (Desc.TSFlags & X86II::VEX_W) ? 8 : 16;
+ else if (Desc.TSFlags & X86II::VEX_L)
+ NumElts = (Desc.TSFlags & X86II::VEX_W) ? 4 : 8;
+ else
+ NumElts = (Desc.TSFlags & X86II::VEX_W) ? 2 : 4;
+ OS << "{1to" << NumElts << "}";
+ } else {
+ if ((Desc.TSFlags & X86II::OpPrefixMask) == X86II::XS)
+ printdwordmem(MI, CurOp++, OS);
+ else if ((Desc.TSFlags & X86II::OpPrefixMask) == X86II::XD)
+ printqwordmem(MI, CurOp++, OS);
+ else if (Desc.TSFlags & X86II::EVEX_L2)
+ printzmmwordmem(MI, CurOp++, OS);
+ else if (Desc.TSFlags & X86II::VEX_L)
+ printymmwordmem(MI, CurOp++, OS);
+ else
+ printxmmwordmem(MI, CurOp++, OS);
+ }
+ } else {
+ printOperand(MI, CurOp++, OS);
+ if (Desc.TSFlags & X86II::EVEX_B)
+ OS << ", {sae}";
+ }
+
+ return true;
+ }
+ break;
+
case X86::VPCOMBmi: case X86::VPCOMBri:
case X86::VPCOMDmi: case X86::VPCOMDri:
case X86::VPCOMQmi: case X86::VPCOMQri:
Modified: llvm/trunk/lib/Target/X86/X86InstrAVX512.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrAVX512.td?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrAVX512.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td Mon Mar 18 10:59:59 2019
@@ -2032,71 +2032,47 @@ multiclass avx512_cmp_scalar<X86VectorVT
X86FoldableSchedWrite sched> {
defm rr_Int : AVX512_maskable_cmp<0xC2, MRMSrcReg, _,
(outs _.KRC:$dst),
- (ins _.RC:$src1, _.RC:$src2, AVXCC:$cc),
- "vcmp${cc}"#_.Suffix,
- "$src2, $src1", "$src1, $src2",
+ (ins _.RC:$src1, _.RC:$src2, u8imm:$cc),
+ "vcmp"#_.Suffix,
+ "$cc, $src2, $src1", "$src1, $src2, $cc",
(OpNode (_.VT _.RC:$src1),
(_.VT _.RC:$src2),
imm:$cc)>, EVEX_4V, Sched<[sched]>;
let mayLoad = 1 in
defm rm_Int : AVX512_maskable_cmp<0xC2, MRMSrcMem, _,
(outs _.KRC:$dst),
- (ins _.RC:$src1, _.IntScalarMemOp:$src2, AVXCC:$cc),
- "vcmp${cc}"#_.Suffix,
- "$src2, $src1", "$src1, $src2",
+ (ins _.RC:$src1, _.IntScalarMemOp:$src2, u8imm:$cc),
+ "vcmp"#_.Suffix,
+ "$cc, $src2, $src1", "$src1, $src2, $cc",
(OpNode (_.VT _.RC:$src1), _.ScalarIntMemCPat:$src2,
imm:$cc)>, EVEX_4V, EVEX_CD8<_.EltSize, CD8VT1>,
Sched<[sched.Folded, sched.ReadAfterFold]>;
defm rrb_Int : AVX512_maskable_cmp<0xC2, MRMSrcReg, _,
(outs _.KRC:$dst),
- (ins _.RC:$src1, _.RC:$src2, AVXCC:$cc),
- "vcmp${cc}"#_.Suffix,
- "{sae}, $src2, $src1", "$src1, $src2, {sae}",
+ (ins _.RC:$src1, _.RC:$src2, u8imm:$cc),
+ "vcmp"#_.Suffix,
+ "$cc, {sae}, $src2, $src1","$src1, $src2, {sae}, $cc",
(OpNodeSAE (_.VT _.RC:$src1),
(_.VT _.RC:$src2),
imm:$cc)>,
EVEX_4V, EVEX_B, Sched<[sched]>;
- // Accept explicit immediate argument form instead of comparison code.
- let isAsmParserOnly = 1, hasSideEffects = 0 in {
- defm rri_alt : AVX512_maskable_cmp_alt<0xC2, MRMSrcReg, _,
- (outs VK1:$dst),
- (ins _.RC:$src1, _.RC:$src2, u8imm:$cc),
- "vcmp"#_.Suffix,
- "$cc, $src2, $src1", "$src1, $src2, $cc">, EVEX_4V,
- Sched<[sched]>, NotMemoryFoldable;
- let mayLoad = 1 in
- defm rmi_alt : AVX512_maskable_cmp_alt<0xC2, MRMSrcMem, _,
- (outs _.KRC:$dst),
- (ins _.RC:$src1, _.ScalarMemOp:$src2, u8imm:$cc),
- "vcmp"#_.Suffix,
- "$cc, $src2, $src1", "$src1, $src2, $cc">,
- EVEX_4V, EVEX_CD8<_.EltSize, CD8VT1>,
- Sched<[sched.Folded, sched.ReadAfterFold]>, NotMemoryFoldable;
-
- defm rrb_alt : AVX512_maskable_cmp_alt<0xC2, MRMSrcReg, _,
- (outs _.KRC:$dst),
- (ins _.RC:$src1, _.RC:$src2, u8imm:$cc),
- "vcmp"#_.Suffix,
- "$cc, {sae}, $src2, $src1","$src1, $src2, {sae}, $cc">,
- EVEX_4V, EVEX_B, Sched<[sched]>, NotMemoryFoldable;
- }// let isAsmParserOnly = 1, hasSideEffects = 0
let isCodeGenOnly = 1 in {
let isCommutable = 1 in
def rr : AVX512Ii8<0xC2, MRMSrcReg,
- (outs _.KRC:$dst), (ins _.FRC:$src1, _.FRC:$src2, AVXCC:$cc),
- !strconcat("vcmp${cc}", _.Suffix,
- "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
+ (outs _.KRC:$dst), (ins _.FRC:$src1, _.FRC:$src2, u8imm:$cc),
+ !strconcat("vcmp", _.Suffix,
+ "\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}"),
[(set _.KRC:$dst, (OpNode _.FRC:$src1,
_.FRC:$src2,
imm:$cc))]>,
EVEX_4V, Sched<[sched]>;
def rm : AVX512Ii8<0xC2, MRMSrcMem,
(outs _.KRC:$dst),
- (ins _.FRC:$src1, _.ScalarMemOp:$src2, AVXCC:$cc),
- !strconcat("vcmp${cc}", _.Suffix,
- "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
+ (ins _.FRC:$src1, _.ScalarMemOp:$src2, u8imm:$cc),
+ !strconcat("vcmp", _.Suffix,
+ "\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}"),
[(set _.KRC:$dst, (OpNode _.FRC:$src1,
(_.ScalarLdFrag addr:$src2),
imm:$cc))]>,
@@ -2456,18 +2432,18 @@ defm VPCMPUQ : avx512_icmp_cc_rmb_vl<0x1
multiclass avx512_vcmp_common<X86FoldableSchedWrite sched, X86VectorVTInfo _,
string Name> {
defm rri : AVX512_maskable_cmp<0xC2, MRMSrcReg, _,
- (outs _.KRC:$dst), (ins _.RC:$src1, _.RC:$src2,AVXCC:$cc),
- "vcmp${cc}"#_.Suffix,
- "$src2, $src1", "$src1, $src2",
+ (outs _.KRC:$dst), (ins _.RC:$src1, _.RC:$src2,u8imm:$cc),
+ "vcmp"#_.Suffix,
+ "$cc, $src2, $src1", "$src1, $src2, $cc",
(X86cmpm (_.VT _.RC:$src1),
(_.VT _.RC:$src2),
imm:$cc), 1>,
Sched<[sched]>;
defm rmi : AVX512_maskable_cmp<0xC2, MRMSrcMem, _,
- (outs _.KRC:$dst),(ins _.RC:$src1, _.MemOp:$src2, AVXCC:$cc),
- "vcmp${cc}"#_.Suffix,
- "$src2, $src1", "$src1, $src2",
+ (outs _.KRC:$dst),(ins _.RC:$src1, _.MemOp:$src2, u8imm:$cc),
+ "vcmp"#_.Suffix,
+ "$cc, $src2, $src1", "$src1, $src2, $cc",
(X86cmpm (_.VT _.RC:$src1),
(_.VT (_.LdFrag addr:$src2)),
imm:$cc)>,
@@ -2475,42 +2451,14 @@ multiclass avx512_vcmp_common<X86Foldabl
defm rmbi : AVX512_maskable_cmp<0xC2, MRMSrcMem, _,
(outs _.KRC:$dst),
- (ins _.RC:$src1, _.ScalarMemOp:$src2, AVXCC:$cc),
- "vcmp${cc}"#_.Suffix,
- "${src2}"##_.BroadcastStr##", $src1",
- "$src1, ${src2}"##_.BroadcastStr,
+ (ins _.RC:$src1, _.ScalarMemOp:$src2, u8imm:$cc),
+ "vcmp"#_.Suffix,
+ "$cc, ${src2}"#_.BroadcastStr#", $src1",
+ "$src1, ${src2}"#_.BroadcastStr#", $cc",
(X86cmpm (_.VT _.RC:$src1),
(_.VT (X86VBroadcast(_.ScalarLdFrag addr:$src2))),
imm:$cc)>,
EVEX_B, Sched<[sched.Folded, sched.ReadAfterFold]>;
- // Accept explicit immediate argument form instead of comparison code.
- let isAsmParserOnly = 1, hasSideEffects = 0 in {
- defm rri_alt : AVX512_maskable_cmp_alt<0xC2, MRMSrcReg, _,
- (outs _.KRC:$dst),
- (ins _.RC:$src1, _.RC:$src2, u8imm:$cc),
- "vcmp"#_.Suffix,
- "$cc, $src2, $src1", "$src1, $src2, $cc">,
- Sched<[sched]>, NotMemoryFoldable;
-
- let mayLoad = 1 in {
- defm rmi_alt : AVX512_maskable_cmp_alt<0xC2, MRMSrcMem, _,
- (outs _.KRC:$dst),
- (ins _.RC:$src1, _.MemOp:$src2, u8imm:$cc),
- "vcmp"#_.Suffix,
- "$cc, $src2, $src1", "$src1, $src2, $cc">,
- Sched<[sched.Folded, sched.ReadAfterFold]>,
- NotMemoryFoldable;
-
- defm rmbi_alt : AVX512_maskable_cmp_alt<0xC2, MRMSrcMem, _,
- (outs _.KRC:$dst),
- (ins _.RC:$src1, _.ScalarMemOp:$src2, u8imm:$cc),
- "vcmp"#_.Suffix,
- "$cc, ${src2}"##_.BroadcastStr##", $src1",
- "$src1, ${src2}"##_.BroadcastStr##", $cc">,
- EVEX_B, Sched<[sched.Folded, sched.ReadAfterFold]>,
- NotMemoryFoldable;
- }
- }
// Patterns for selecting with loads in other operand.
def : Pat<(X86cmpm (_.LdFrag addr:$src2), (_.VT _.RC:$src1),
@@ -2542,23 +2490,14 @@ multiclass avx512_vcmp_common<X86Foldabl
multiclass avx512_vcmp_sae<X86FoldableSchedWrite sched, X86VectorVTInfo _> {
// comparison code form (VCMP[EQ/LT/LE/...]
defm rrib : AVX512_maskable_cmp<0xC2, MRMSrcReg, _,
- (outs _.KRC:$dst),(ins _.RC:$src1, _.RC:$src2, AVXCC:$cc),
- "vcmp${cc}"#_.Suffix,
- "{sae}, $src2, $src1", "$src1, $src2, {sae}",
+ (outs _.KRC:$dst),(ins _.RC:$src1, _.RC:$src2, u8imm:$cc),
+ "vcmp"#_.Suffix,
+ "$cc, {sae}, $src2, $src1",
+ "$src1, $src2, {sae}, $cc",
(X86cmpmSAE (_.VT _.RC:$src1),
(_.VT _.RC:$src2),
imm:$cc)>,
EVEX_B, Sched<[sched]>;
-
- let isAsmParserOnly = 1, hasSideEffects = 0 in {
- defm rrib_alt : AVX512_maskable_cmp_alt<0xC2, MRMSrcReg, _,
- (outs _.KRC:$dst),
- (ins _.RC:$src1, _.RC:$src2, u8imm:$cc),
- "vcmp"#_.Suffix,
- "$cc, {sae}, $src2, $src1",
- "$src1, $src2, {sae}, $cc">,
- EVEX_B, Sched<[sched]>, NotMemoryFoldable;
- }
}
multiclass avx512_vcmp<X86SchedWriteWidths sched, AVX512VLVectorVTInfo _> {
Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.td?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrInfo.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrInfo.td Mon Mar 18 10:59:59 2019
@@ -600,16 +600,6 @@ def offset64_32 : X86MemOffsOperand<i64i
def offset64_64 : X86MemOffsOperand<i64imm, "printMemOffs64",
X86MemOffs64_64AsmOperand>;
-def SSECC : Operand<i8> {
- let PrintMethod = "printSSEAVXCC";
- let OperandType = "OPERAND_IMMEDIATE";
-}
-
-def AVXCC : Operand<i8> {
- let PrintMethod = "printSSEAVXCC";
- let OperandType = "OPERAND_IMMEDIATE";
-}
-
class ImmSExtAsmOperandClass : AsmOperandClass {
let SuperClasses = [ImmAsmOperand];
let RenderMethod = "addImmOperands";
Modified: llvm/trunk/lib/Target/X86/X86InstrSSE.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrSSE.td?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrSSE.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrSSE.td Mon Mar 18 10:59:59 2019
@@ -1768,68 +1768,53 @@ let Predicates = [HasAVX, NoVLX] in {
// sse12_cmp_scalar - sse 1 & 2 compare scalar instructions
multiclass sse12_cmp_scalar<RegisterClass RC, X86MemOperand x86memop,
- Operand CC, SDNode OpNode, ValueType VT,
- PatFrag ld_frag, string asm, string asm_alt,
+ SDNode OpNode, ValueType VT,
+ PatFrag ld_frag, string asm,
X86FoldableSchedWrite sched> {
let isCommutable = 1 in
def rr : SIi8<0xC2, MRMSrcReg,
- (outs RC:$dst), (ins RC:$src1, RC:$src2, CC:$cc), asm,
+ (outs RC:$dst), (ins RC:$src1, RC:$src2, u8imm:$cc), asm,
[(set RC:$dst, (OpNode (VT RC:$src1), RC:$src2, imm:$cc))]>,
Sched<[sched]>;
def rm : SIi8<0xC2, MRMSrcMem,
- (outs RC:$dst), (ins RC:$src1, x86memop:$src2, CC:$cc), asm,
+ (outs RC:$dst), (ins RC:$src1, x86memop:$src2, u8imm:$cc), asm,
[(set RC:$dst, (OpNode (VT RC:$src1),
(ld_frag addr:$src2), imm:$cc))]>,
Sched<[sched.Folded, sched.ReadAfterFold]>;
-
- // Accept explicit immediate argument form instead of comparison code.
- let isAsmParserOnly = 1, hasSideEffects = 0 in {
- def rr_alt : SIi8<0xC2, MRMSrcReg, (outs RC:$dst),
- (ins RC:$src1, RC:$src2, u8imm:$cc), asm_alt, []>,
- Sched<[sched]>, NotMemoryFoldable;
- let mayLoad = 1 in
- def rm_alt : SIi8<0xC2, MRMSrcMem, (outs RC:$dst),
- (ins RC:$src1, x86memop:$src2, u8imm:$cc), asm_alt, []>,
- Sched<[sched.Folded, sched.ReadAfterFold]>, NotMemoryFoldable;
- }
}
let ExeDomain = SSEPackedSingle in
-defm VCMPSS : sse12_cmp_scalar<FR32, f32mem, AVXCC, X86cmps, f32, loadf32,
- "cmp${cc}ss\t{$src2, $src1, $dst|$dst, $src1, $src2}",
+defm VCMPSS : sse12_cmp_scalar<FR32, f32mem, X86cmps, f32, loadf32,
"cmpss\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
SchedWriteFCmpSizes.PS.Scl>, XS, VEX_4V, VEX_LIG, VEX_WIG;
let ExeDomain = SSEPackedDouble in
-defm VCMPSD : sse12_cmp_scalar<FR64, f64mem, AVXCC, X86cmps, f64, loadf64,
- "cmp${cc}sd\t{$src2, $src1, $dst|$dst, $src1, $src2}",
+defm VCMPSD : sse12_cmp_scalar<FR64, f64mem, X86cmps, f64, loadf64,
"cmpsd\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
SchedWriteFCmpSizes.PD.Scl>,
XD, VEX_4V, VEX_LIG, VEX_WIG;
let Constraints = "$src1 = $dst" in {
let ExeDomain = SSEPackedSingle in
- defm CMPSS : sse12_cmp_scalar<FR32, f32mem, SSECC, X86cmps, f32, loadf32,
- "cmp${cc}ss\t{$src2, $dst|$dst, $src2}",
+ defm CMPSS : sse12_cmp_scalar<FR32, f32mem, X86cmps, f32, loadf32,
"cmpss\t{$cc, $src2, $dst|$dst, $src2, $cc}",
SchedWriteFCmpSizes.PS.Scl>, XS;
let ExeDomain = SSEPackedDouble in
- defm CMPSD : sse12_cmp_scalar<FR64, f64mem, SSECC, X86cmps, f64, loadf64,
- "cmp${cc}sd\t{$src2, $dst|$dst, $src2}",
+ defm CMPSD : sse12_cmp_scalar<FR64, f64mem, X86cmps, f64, loadf64,
"cmpsd\t{$cc, $src2, $dst|$dst, $src2, $cc}",
SchedWriteFCmpSizes.PD.Scl>, XD;
}
-multiclass sse12_cmp_scalar_int<Operand memop, Operand CC,
+multiclass sse12_cmp_scalar_int<Operand memop,
Intrinsic Int, string asm, X86FoldableSchedWrite sched,
ComplexPattern mem_cpat> {
def rr_Int : SIi8<0xC2, MRMSrcReg, (outs VR128:$dst),
- (ins VR128:$src1, VR128:$src, CC:$cc), asm,
+ (ins VR128:$src1, VR128:$src, u8imm:$cc), asm,
[(set VR128:$dst, (Int VR128:$src1,
VR128:$src, imm:$cc))]>,
Sched<[sched]>;
let mayLoad = 1 in
def rm_Int : SIi8<0xC2, MRMSrcMem, (outs VR128:$dst),
- (ins VR128:$src1, memop:$src, CC:$cc), asm,
+ (ins VR128:$src1, memop:$src, u8imm:$cc), asm,
[(set VR128:$dst, (Int VR128:$src1,
mem_cpat:$src, imm:$cc))]>,
Sched<[sched.Folded, sched.ReadAfterFold]>;
@@ -1838,22 +1823,22 @@ let mayLoad = 1 in
let isCodeGenOnly = 1 in {
// Aliases to match intrinsics which expect XMM operand(s).
let ExeDomain = SSEPackedSingle in
- defm VCMPSS : sse12_cmp_scalar_int<ssmem, AVXCC, int_x86_sse_cmp_ss,
- "cmp${cc}ss\t{$src, $src1, $dst|$dst, $src1, $src}",
+ defm VCMPSS : sse12_cmp_scalar_int<ssmem, int_x86_sse_cmp_ss,
+ "cmpss\t{$cc, $src, $src1, $dst|$dst, $src1, $src, $cc}",
SchedWriteFCmpSizes.PS.Scl, sse_load_f32>, XS, VEX_4V;
let ExeDomain = SSEPackedDouble in
- defm VCMPSD : sse12_cmp_scalar_int<sdmem, AVXCC, int_x86_sse2_cmp_sd,
- "cmp${cc}sd\t{$src, $src1, $dst|$dst, $src1, $src}",
+ defm VCMPSD : sse12_cmp_scalar_int<sdmem, int_x86_sse2_cmp_sd,
+ "cmpsd\t{$cc, $src, $src1, $dst|$dst, $src1, $src, $cc}",
SchedWriteFCmpSizes.PD.Scl, sse_load_f64>,
XD, VEX_4V;
let Constraints = "$src1 = $dst" in {
let ExeDomain = SSEPackedSingle in
- defm CMPSS : sse12_cmp_scalar_int<ssmem, SSECC, int_x86_sse_cmp_ss,
- "cmp${cc}ss\t{$src, $dst|$dst, $src}",
+ defm CMPSS : sse12_cmp_scalar_int<ssmem, int_x86_sse_cmp_ss,
+ "cmpss\t{$cc, $src, $dst|$dst, $src, $cc}",
SchedWriteFCmpSizes.PS.Scl, sse_load_f32>, XS;
let ExeDomain = SSEPackedDouble in
- defm CMPSD : sse12_cmp_scalar_int<sdmem, SSECC, int_x86_sse2_cmp_sd,
- "cmp${cc}sd\t{$src, $dst|$dst, $src}",
+ defm CMPSD : sse12_cmp_scalar_int<sdmem, int_x86_sse2_cmp_sd,
+ "cmpsd\t{$cc, $src, $dst|$dst, $src, $cc}",
SchedWriteFCmpSizes.PD.Scl, sse_load_f64>, XD;
}
}
@@ -1945,56 +1930,38 @@ let Defs = [EFLAGS] in {
// sse12_cmp_packed - sse 1 & 2 compare packed instructions
multiclass sse12_cmp_packed<RegisterClass RC, X86MemOperand x86memop,
- Operand CC, ValueType VT, string asm,
- string asm_alt, X86FoldableSchedWrite sched,
+ ValueType VT, string asm,
+ X86FoldableSchedWrite sched,
Domain d, PatFrag ld_frag> {
let isCommutable = 1 in
def rri : PIi8<0xC2, MRMSrcReg,
- (outs RC:$dst), (ins RC:$src1, RC:$src2, CC:$cc), asm,
+ (outs RC:$dst), (ins RC:$src1, RC:$src2, u8imm:$cc), asm,
[(set RC:$dst, (VT (X86cmpp RC:$src1, RC:$src2, imm:$cc)))], d>,
Sched<[sched]>;
def rmi : PIi8<0xC2, MRMSrcMem,
- (outs RC:$dst), (ins RC:$src1, x86memop:$src2, CC:$cc), asm,
+ (outs RC:$dst), (ins RC:$src1, x86memop:$src2, u8imm:$cc), asm,
[(set RC:$dst,
(VT (X86cmpp RC:$src1, (ld_frag addr:$src2), imm:$cc)))], d>,
Sched<[sched.Folded, sched.ReadAfterFold]>;
-
- // Accept explicit immediate argument form instead of comparison code.
- let isAsmParserOnly = 1, hasSideEffects = 0 in {
- def rri_alt : PIi8<0xC2, MRMSrcReg,
- (outs RC:$dst), (ins RC:$src1, RC:$src2, u8imm:$cc),
- asm_alt, [], d>, Sched<[sched]>, NotMemoryFoldable;
- let mayLoad = 1 in
- def rmi_alt : PIi8<0xC2, MRMSrcMem,
- (outs RC:$dst), (ins RC:$src1, x86memop:$src2, u8imm:$cc),
- asm_alt, [], d>, Sched<[sched.Folded, sched.ReadAfterFold]>,
- NotMemoryFoldable;
- }
}
-defm VCMPPS : sse12_cmp_packed<VR128, f128mem, AVXCC, v4f32,
- "cmp${cc}ps\t{$src2, $src1, $dst|$dst, $src1, $src2}",
+defm VCMPPS : sse12_cmp_packed<VR128, f128mem, v4f32,
"cmpps\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
SchedWriteFCmpSizes.PS.XMM, SSEPackedSingle, loadv4f32>, PS, VEX_4V, VEX_WIG;
-defm VCMPPD : sse12_cmp_packed<VR128, f128mem, AVXCC, v2f64,
- "cmp${cc}pd\t{$src2, $src1, $dst|$dst, $src1, $src2}",
+defm VCMPPD : sse12_cmp_packed<VR128, f128mem, v2f64,
"cmppd\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
SchedWriteFCmpSizes.PD.XMM, SSEPackedDouble, loadv2f64>, PD, VEX_4V, VEX_WIG;
-defm VCMPPSY : sse12_cmp_packed<VR256, f256mem, AVXCC, v8f32,
- "cmp${cc}ps\t{$src2, $src1, $dst|$dst, $src1, $src2}",
+defm VCMPPSY : sse12_cmp_packed<VR256, f256mem, v8f32,
"cmpps\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
SchedWriteFCmpSizes.PS.YMM, SSEPackedSingle, loadv8f32>, PS, VEX_4V, VEX_L, VEX_WIG;
-defm VCMPPDY : sse12_cmp_packed<VR256, f256mem, AVXCC, v4f64,
- "cmp${cc}pd\t{$src2, $src1, $dst|$dst, $src1, $src2}",
+defm VCMPPDY : sse12_cmp_packed<VR256, f256mem, v4f64,
"cmppd\t{$cc, $src2, $src1, $dst|$dst, $src1, $src2, $cc}",
SchedWriteFCmpSizes.PD.YMM, SSEPackedDouble, loadv4f64>, PD, VEX_4V, VEX_L, VEX_WIG;
let Constraints = "$src1 = $dst" in {
- defm CMPPS : sse12_cmp_packed<VR128, f128mem, SSECC, v4f32,
- "cmp${cc}ps\t{$src2, $dst|$dst, $src2}",
+ defm CMPPS : sse12_cmp_packed<VR128, f128mem, v4f32,
"cmpps\t{$cc, $src2, $dst|$dst, $src2, $cc}",
SchedWriteFCmpSizes.PS.XMM, SSEPackedSingle, memopv4f32>, PS;
- defm CMPPD : sse12_cmp_packed<VR128, f128mem, SSECC, v2f64,
- "cmp${cc}pd\t{$src2, $dst|$dst, $src2}",
+ defm CMPPD : sse12_cmp_packed<VR128, f128mem, v2f64,
"cmppd\t{$cc, $src2, $dst|$dst, $src2, $cc}",
SchedWriteFCmpSizes.PD.XMM, SSEPackedDouble, memopv2f64>, PD;
}
Modified: llvm/trunk/test/MC/X86/x86-32-avx.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-32-avx.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/x86-32-avx.s (original)
+++ llvm/trunk/test/MC/X86/x86-32-avx.s Mon Mar 18 10:59:59 2019
@@ -303,27 +303,27 @@
// CHECK: encoding: [0xc5,0xe9,0x14,0x6c,0xcb,0xfc]
vunpcklpd -4(%ebx,%ecx,8), %xmm2, %xmm5
-// CHECK: vcmpps $0, %xmm0, %xmm6, %xmm1
+// CHECK: vcmpeqps %xmm0, %xmm6, %xmm1
// CHECK: encoding: [0xc5,0xc8,0xc2,0xc8,0x00]
vcmpps $0, %xmm0, %xmm6, %xmm1
-// CHECK: vcmpps $0, (%eax), %xmm6, %xmm1
+// CHECK: vcmpeqps (%eax), %xmm6, %xmm1
// CHECK: encoding: [0xc5,0xc8,0xc2,0x08,0x00]
vcmpps $0, (%eax), %xmm6, %xmm1
-// CHECK: vcmpps $7, %xmm0, %xmm6, %xmm1
+// CHECK: vcmpordps %xmm0, %xmm6, %xmm1
// CHECK: encoding: [0xc5,0xc8,0xc2,0xc8,0x07]
vcmpps $7, %xmm0, %xmm6, %xmm1
-// CHECK: vcmppd $0, %xmm0, %xmm6, %xmm1
+// CHECK: vcmpeqpd %xmm0, %xmm6, %xmm1
// CHECK: encoding: [0xc5,0xc9,0xc2,0xc8,0x00]
vcmppd $0, %xmm0, %xmm6, %xmm1
-// CHECK: vcmppd $0, (%eax), %xmm6, %xmm1
+// CHECK: vcmpeqpd (%eax), %xmm6, %xmm1
// CHECK: encoding: [0xc5,0xc9,0xc2,0x08,0x00]
vcmppd $0, (%eax), %xmm6, %xmm1
-// CHECK: vcmppd $7, %xmm0, %xmm6, %xmm1
+// CHECK: vcmpordpd %xmm0, %xmm6, %xmm1
// CHECK: encoding: [0xc5,0xc9,0xc2,0xc8,0x07]
vcmppd $7, %xmm0, %xmm6, %xmm1
Modified: llvm/trunk/test/MC/X86/x86-32.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86-32.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/x86-32.s (original)
+++ llvm/trunk/test/MC/X86/x86-32.s Mon Mar 18 10:59:59 2019
@@ -262,28 +262,28 @@ cmovnae %bx,%bx
// CHECK: encoding: [0x0f,0x44,0xd0]
cmovzl %eax,%edx
-// CHECK: cmpps $0, %xmm0, %xmm1
+// CHECK: cmpeqps %xmm0, %xmm1
// CHECK: encoding: [0x0f,0xc2,0xc8,0x00]
cmpps $0, %xmm0, %xmm1
-// CHECK: cmpps $0, (%eax), %xmm1
+// CHECK: cmpeqps (%eax), %xmm1
// CHECK: encoding: [0x0f,0xc2,0x08,0x00]
cmpps $0, 0(%eax), %xmm1
-// CHECK: cmppd $0, %xmm0, %xmm1
+// CHECK: cmpeqpd %xmm0, %xmm1
// CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x00]
cmppd $0, %xmm0, %xmm1
-// CHECK: cmppd $0, (%eax), %xmm1
+// CHECK: cmpeqpd (%eax), %xmm1
// CHECK: encoding: [0x66,0x0f,0xc2,0x08,0x00]
cmppd $0, 0(%eax), %xmm1
-// CHECK: cmpss $0, %xmm0, %xmm1
+// CHECK: cmpeqss %xmm0, %xmm1
// CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x00]
cmpss $0, %xmm0, %xmm1
-// CHECK: cmpss $0, (%eax), %xmm1
+// CHECK: cmpeqss (%eax), %xmm1
// CHECK: encoding: [0xf3,0x0f,0xc2,0x08,0x00]
cmpss $0, 0(%eax), %xmm1
-// CHECK: cmpsd $0, %xmm0, %xmm1
+// CHECK: cmpeqsd %xmm0, %xmm1
// CHECK: encoding: [0xf2,0x0f,0xc2,0xc8,0x00]
cmpsd $0, %xmm0, %xmm1
-// CHECK: cmpsd $0, (%eax), %xmm1
+// CHECK: cmpeqsd (%eax), %xmm1
// CHECK: encoding: [0xf2,0x0f,0xc2,0x08,0x00]
cmpsd $0, 0(%eax), %xmm1
Modified: llvm/trunk/test/MC/X86/x86_64-avx-encoding.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/x86_64-avx-encoding.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/x86_64-avx-encoding.s (original)
+++ llvm/trunk/test/MC/X86/x86_64-avx-encoding.s Mon Mar 18 10:59:59 2019
@@ -304,27 +304,27 @@ vdivpd -4(%rcx,%rbx,8), %xmm10, %xmm11
// CHECK: encoding: [0xc5,0x19,0x14,0x7c,0xcb,0xfc]
vunpcklpd -4(%rbx,%rcx,8), %xmm12, %xmm15
-// CHECK: vcmpps $0, %xmm10, %xmm12, %xmm15
+// CHECK: vcmpeqps %xmm10, %xmm12, %xmm15
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xfa,0x00]
vcmpps $0, %xmm10, %xmm12, %xmm15
-// CHECK: vcmpps $0, (%rax), %xmm12, %xmm15
+// CHECK: vcmpeqps (%rax), %xmm12, %xmm15
// CHECK: encoding: [0xc5,0x18,0xc2,0x38,0x00]
vcmpps $0, (%rax), %xmm12, %xmm15
-// CHECK: vcmpps $7, %xmm10, %xmm12, %xmm15
+// CHECK: vcmpordps %xmm10, %xmm12, %xmm15
// CHECK: encoding: [0xc4,0x41,0x18,0xc2,0xfa,0x07]
vcmpps $7, %xmm10, %xmm12, %xmm15
-// CHECK: vcmppd $0, %xmm10, %xmm12, %xmm15
+// CHECK: vcmpeqpd %xmm10, %xmm12, %xmm15
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xfa,0x00]
vcmppd $0, %xmm10, %xmm12, %xmm15
-// CHECK: vcmppd $0, (%rax), %xmm12, %xmm15
+// CHECK: vcmpeqpd (%rax), %xmm12, %xmm15
// CHECK: encoding: [0xc5,0x19,0xc2,0x38,0x00]
vcmppd $0, (%rax), %xmm12, %xmm15
-// CHECK: vcmppd $7, %xmm10, %xmm12, %xmm15
+// CHECK: vcmpordpd %xmm10, %xmm12, %xmm15
// CHECK: encoding: [0xc4,0x41,0x19,0xc2,0xfa,0x07]
vcmppd $7, %xmm10, %xmm12, %xmm15
Modified: llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-sse1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-sse1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-sse1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-sse1.s Mon Mar 18 10:59:59 2019
@@ -202,10 +202,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 * andnps (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 andps %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * andps (%rax), %xmm2
-# CHECK-NEXT: 1 5 5.00 cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 5 5.00 * cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: 1 5 5.00 cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 5 5.00 * cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: 1 5 5.00 cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: 1 5 5.00 * cmpeqps (%rax), %xmm2
+# CHECK-NEXT: 1 5 5.00 cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: 1 5 5.00 * cmpeqss (%rax), %xmm2
# CHECK-NEXT: 1 9 4.50 comiss %xmm0, %xmm1
# CHECK-NEXT: 1 10 5.00 * comiss (%rax), %xmm1
# CHECK-NEXT: 1 5 5.00 cvtpi2ps %mm0, %xmm2
@@ -337,10 +337,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1.00 - andnps (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 andps %xmm0, %xmm2
# CHECK-NEXT: 1.00 - andps (%rax), %xmm2
-# CHECK-NEXT: 5.00 - cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: 5.00 - cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: 5.00 - cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: 5.00 - cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: 5.00 - cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: 5.00 - cmpeqps (%rax), %xmm2
+# CHECK-NEXT: 5.00 - cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: 5.00 - cmpeqss (%rax), %xmm2
# CHECK-NEXT: 4.50 4.50 comiss %xmm0, %xmm1
# CHECK-NEXT: 5.00 5.00 comiss (%rax), %xmm1
# CHECK-NEXT: - 5.00 cvtpi2ps %mm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-sse2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-sse2.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-sse2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Atom/resources-sse2.s Mon Mar 18 10:59:59 2019
@@ -416,10 +416,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 andpd %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * andpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 * * U clflush (%rax)
-# CHECK-NEXT: 1 6 3.00 cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 7 3.50 * cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: 1 5 5.00 cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 5 5.00 * cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: 1 6 3.00 cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: 1 7 3.50 * cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: 1 5 5.00 cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: 1 5 5.00 * cmpeqsd (%rax), %xmm2
# CHECK-NEXT: 1 9 4.50 comisd %xmm0, %xmm1
# CHECK-NEXT: 1 10 5.00 * comisd (%rax), %xmm1
# CHECK-NEXT: 1 7 3.50 cvtdq2pd %xmm0, %xmm2
@@ -694,10 +694,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 andpd %xmm0, %xmm2
# CHECK-NEXT: 1.00 - andpd (%rax), %xmm2
# CHECK-NEXT: 1.00 - clflush (%rax)
-# CHECK-NEXT: 3.00 3.00 cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: 3.50 3.50 cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: 5.00 - cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: 5.00 - cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: 3.00 3.00 cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: 3.50 3.50 cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: 5.00 - cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: 5.00 - cmpeqsd (%rax), %xmm2
# CHECK-NEXT: 4.50 4.50 comisd %xmm0, %xmm1
# CHECK-NEXT: 5.00 5.00 comisd (%rax), %xmm1
# CHECK-NEXT: 3.50 3.50 cvtdq2pd %xmm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-avx1.s Mon Mar 18 10:59:59 2019
@@ -1098,18 +1098,18 @@ vzeroupper
# CHECK-NEXT: 2 6 2.00 * vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: 1 7 0.50 * vbroadcastss (%rax), %xmm2
# CHECK-NEXT: 2 6 2.00 * vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: 1 2 1.00 vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 7 1.00 * vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 2 2 2.00 vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 7 2.00 * vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 2 1.00 vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 7 1.00 * vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 2 2 2.00 vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 7 2.00 * vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 2 1.00 vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 7 1.00 * vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 2 1.00 vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 7 1.00 * vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 2 1.00 vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 7 1.00 * vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 2 2.00 vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 2.00 * vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 2 1.00 vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 7 1.00 * vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 2 2.00 vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 2.00 * vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 2 1.00 vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 7 1.00 * vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 2 1.00 vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 7 1.00 * vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 1 1.00 vcomisd %xmm0, %xmm1
# CHECK-NEXT: 2 6 1.00 * vcomisd (%rax), %xmm1
# CHECK-NEXT: 2 1 1.00 vcomiss %xmm0, %xmm1
@@ -1821,18 +1821,18 @@ vzeroupper
# CHECK-NEXT: 0.50 0.50 - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - 0.50 0.50 - - vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - 0.50 0.50 - - vbroadcastss (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - 2.00 2.00 - - - - 1.00 1.00 - - - 0.50 0.50 - - vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 2.00 - - - - - - - - vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1.00 1.00 - - - - - - 0.50 0.50 - - - - 2.00 - - - - 1.00 1.00 - - vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 2.00 - - - - - - - - vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1.00 1.00 - - - - - - 0.50 0.50 - - - - 2.00 - - - - 1.00 1.00 - - vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 2.00 - - - - - - - - vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00 1.00 - - - - - - 0.50 0.50 - - - - 2.00 - - - - 1.00 1.00 - - vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 2.00 - - - - - - - - vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1.00 1.00 - - - - - - 0.50 0.50 - - - - 2.00 - - - - 1.00 1.00 - - vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - vcomisd %xmm0, %xmm1
# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - vcomisd (%rax), %xmm1
# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - vcomiss %xmm0, %xmm1
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-sse1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-sse1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-sse1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-sse1.s Mon Mar 18 10:59:59 2019
@@ -202,10 +202,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 7 0.50 * andnps (%rax), %xmm2
# CHECK-NEXT: 1 2 0.50 andps %xmm0, %xmm2
# CHECK-NEXT: 1 7 0.50 * andps (%rax), %xmm2
-# CHECK-NEXT: 1 2 1.00 cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 7 1.00 * cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: 1 2 1.00 cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 7 1.00 * cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: 1 2 1.00 cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: 1 7 1.00 * cmpeqps (%rax), %xmm2
+# CHECK-NEXT: 1 2 1.00 cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: 1 7 1.00 * cmpeqss (%rax), %xmm2
# CHECK-NEXT: 2 1 1.00 comiss %xmm0, %xmm1
# CHECK-NEXT: 2 6 1.00 * comiss (%rax), %xmm1
# CHECK-NEXT: 2 4 1.00 cvtpi2ps %mm0, %xmm2
@@ -358,10 +358,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - 0.50 0.50 - - andnps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - andps %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - 0.50 0.50 - - andps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - cmpeqps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - cmpeqss (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - comiss %xmm0, %xmm1
# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - comiss (%rax), %xmm1
# CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - cvtpi2ps %mm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-sse2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-sse2.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-sse2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BdVer2/resources-sse2.s Mon Mar 18 10:59:59 2019
@@ -416,10 +416,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 2 0.50 andpd %xmm0, %xmm2
# CHECK-NEXT: 1 7 0.50 * andpd (%rax), %xmm2
# CHECK-NEXT: 1 5 0.50 * * U clflush (%rax)
-# CHECK-NEXT: 1 2 1.00 cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 7 1.00 * cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: 1 2 1.00 cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 7 1.00 * cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: 1 2 1.00 cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: 1 7 1.00 * cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: 1 2 1.00 cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: 1 7 1.00 * cmpeqsd (%rax), %xmm2
# CHECK-NEXT: 2 1 1.00 comisd %xmm0, %xmm1
# CHECK-NEXT: 2 6 1.00 * comisd (%rax), %xmm1
# CHECK-NEXT: 2 8 1.00 cvtdq2pd %xmm0, %xmm2
@@ -715,10 +715,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - andpd %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - - 0.50 0.50 - - andpd (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - 0.50 0.50 - - clflush (%rax)
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - cmpeqsd (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - comisd %xmm0, %xmm1
# CHECK-NEXT: 0.50 0.50 - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - 0.50 0.50 - - comisd (%rax), %xmm1
# CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - cvtdq2pd %xmm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s Mon Mar 18 10:59:59 2019
@@ -1098,18 +1098,18 @@ vzeroupper
# CHECK-NEXT: 1 6 0.50 * vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: 1 5 0.50 * vbroadcastss (%rax), %xmm2
# CHECK-NEXT: 1 6 0.50 * vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: 1 3 1.00 vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 8 1.00 * vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 3 1.00 vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 9 1.00 * vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 3 1.00 vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 8 1.00 * vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 3 1.00 vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 9 1.00 * vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 3 1.00 vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 8 1.00 * vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 3 1.00 vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 8 1.00 * vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 8 1.00 * vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 8 1.00 * vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 9 1.00 * vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 8 1.00 * vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 8 1.00 * vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vcomisd %xmm0, %xmm1
# CHECK-NEXT: 2 8 1.00 * vcomisd (%rax), %xmm1
# CHECK-NEXT: 1 3 1.00 vcomiss %xmm0, %xmm1
@@ -1808,18 +1808,18 @@ vzeroupper
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcastss (%rax), %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - - - - - - vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - - - - - - vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - 1.00 - - - - - - vcomisd %xmm0, %xmm1
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcomisd (%rax), %xmm1
# CHECK-NEXT: - - - 1.00 - - - - - - vcomiss %xmm0, %xmm1
Modified: llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-sse1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-sse1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-sse1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-sse1.s Mon Mar 18 10:59:59 2019
@@ -202,10 +202,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 6 1.00 * andnps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 andps %xmm0, %xmm2
# CHECK-NEXT: 2 6 1.00 * andps (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 8 1.00 * cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 8 1.00 * cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: 2 8 1.00 * cmpeqps (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: 2 8 1.00 * cmpeqss (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 comiss %xmm0, %xmm1
# CHECK-NEXT: 2 8 1.00 * comiss (%rax), %xmm1
# CHECK-NEXT: 1 3 1.00 cvtpi2ps %mm0, %xmm2
@@ -345,10 +345,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andnps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - andps %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andps (%rax), %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpeqps (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpeqss (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - - - comiss %xmm0, %xmm1
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - comiss (%rax), %xmm1
# CHECK-NEXT: - - - 1.00 - - - - - - cvtpi2ps %mm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s Mon Mar 18 10:59:59 2019
@@ -416,10 +416,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 6 1.00 * andpd (%rax), %xmm2
# CHECK-NEXT: 2 2 1.00 * * U clflush (%rax)
-# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 8 1.00 * cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 8 1.00 * cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: 2 8 1.00 * cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: 2 8 1.00 * cmpeqsd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 comisd %xmm0, %xmm1
# CHECK-NEXT: 2 8 1.00 * comisd (%rax), %xmm1
# CHECK-NEXT: 2 4 1.00 cvtdq2pd %xmm0, %xmm2
@@ -702,10 +702,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - andpd %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andpd (%rax), %xmm2
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 1.25 - clflush (%rax)
-# CHECK-NEXT: - - - 1.00 - - - - - - cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpeqsd (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - - - comisd %xmm0, %xmm1
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - comisd (%rax), %xmm1
# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtdq2pd %xmm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s Mon Mar 18 10:59:59 2019
@@ -1098,18 +1098,18 @@ vzeroupper
# CHECK-NEXT: 2 6 2.00 * vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: 1 6 1.00 * vbroadcastss (%rax), %xmm2
# CHECK-NEXT: 2 6 2.00 * vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: 1 2 1.00 vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 7 1.00 * vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 2 2 2.00 vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 7 2.00 * vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 2 1.00 vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 7 1.00 * vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 2 2 2.00 vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 7 2.00 * vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 2 1.00 vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 7 1.00 * vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 2 1.00 vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 7 1.00 * vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 2 1.00 vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 7 1.00 * vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 2 2.00 vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 2.00 * vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 2 1.00 vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 7 1.00 * vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 2 2.00 vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 7 2.00 * vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 2 1.00 vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 7 1.00 * vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 2 1.00 vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 7 1.00 * vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vcomisd %xmm0, %xmm1
# CHECK-NEXT: 1 8 1.00 * vcomisd (%rax), %xmm1
# CHECK-NEXT: 1 3 1.00 vcomiss %xmm0, %xmm1
@@ -1812,18 +1812,18 @@ vzeroupper
# CHECK-NEXT: - - - 2.00 2.00 1.00 1.00 1.00 - - - - - - vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - vbroadcastss (%rax), %xmm2
# CHECK-NEXT: - - - 2.00 2.00 1.00 1.00 1.00 - - - - - - vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 2.00 - 2.00 - - - - - - - - vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 2.00 - 2.00 - 2.00 - - - - - - vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vcomisd %xmm0, %xmm1
# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - vcomisd (%rax), %xmm1
# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - vcomiss %xmm0, %xmm1
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s Mon Mar 18 10:59:59 2019
@@ -202,10 +202,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 6 1.00 * andnps (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 andps %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * andps (%rax), %xmm2
-# CHECK-NEXT: 1 2 1.00 cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 7 1.00 * cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: 1 2 1.00 cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 7 1.00 * cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: 1 2 1.00 cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: 1 7 1.00 * cmpeqps (%rax), %xmm2
+# CHECK-NEXT: 1 2 1.00 cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: 1 7 1.00 * cmpeqss (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 comiss %xmm0, %xmm1
# CHECK-NEXT: 1 8 1.00 * comiss (%rax), %xmm1
# CHECK-NEXT: 1 3 1.00 cvtpi2ps %mm0, %xmm2
@@ -349,10 +349,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - andnps (%rax), %xmm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - andps %xmm0, %xmm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - andps (%rax), %xmm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpeqps (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpeqss (%rax), %xmm2
# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - comiss %xmm0, %xmm1
# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - comiss (%rax), %xmm1
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtpi2ps %mm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s Mon Mar 18 10:59:59 2019
@@ -416,10 +416,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 andpd %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * andpd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 * * U clflush (%rax)
-# CHECK-NEXT: 1 2 1.00 cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 7 1.00 * cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: 1 2 1.00 cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 7 1.00 * cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: 1 2 1.00 cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: 1 7 1.00 * cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: 1 2 1.00 cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: 1 7 1.00 * cmpeqsd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 comisd %xmm0, %xmm1
# CHECK-NEXT: 1 8 1.00 * comisd (%rax), %xmm1
# CHECK-NEXT: 1 3 1.00 cvtdq2pd %xmm0, %xmm2
@@ -706,10 +706,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 - - - - - - - andpd %xmm0, %xmm2
# CHECK-NEXT: - - - 0.50 0.50 0.50 0.50 1.00 - - - - - - andpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - - - clflush (%rax)
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - - - - - - - - cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - 1.00 - 1.00 - - - - - - cmpeqsd (%rax), %xmm2
# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - - - - - - - - comisd %xmm0, %xmm1
# CHECK-NEXT: 1.00 - - 1.00 - 1.00 - 1.00 - - - - - - comisd (%rax), %xmm1
# CHECK-NEXT: - - - - - - 1.00 - - - 1.00 - - - cvtdq2pd %xmm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-avx1.s Mon Mar 18 10:59:59 2019
@@ -1098,18 +1098,18 @@ vzeroupper
# CHECK-NEXT: 1 7 0.50 * vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: 1 6 0.50 * vbroadcastss (%rax), %xmm2
# CHECK-NEXT: 1 7 0.50 * vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: 1 3 1.00 vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 9 1.00 * vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 3 1.00 vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 10 1.00 * vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 3 1.00 vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 9 1.00 * vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 3 1.00 vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 10 1.00 * vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 3 1.00 vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 9 1.00 * vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 3 1.00 vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 9 1.00 * vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 2 1.00 vcomisd %xmm0, %xmm1
# CHECK-NEXT: 3 8 1.00 * vcomisd (%rax), %xmm1
# CHECK-NEXT: 2 2 1.00 vcomiss %xmm0, %xmm1
@@ -1806,18 +1806,18 @@ vzeroupper
# CHECK-NEXT: - - - - - - 0.50 0.50 vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: - - - - - - 0.50 0.50 vbroadcastss (%rax), %xmm2
# CHECK-NEXT: - - - - - - 0.50 0.50 vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: - - - 1.00 - - - - vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 - - - - vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 - - - - vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - - - - vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - - - - vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - 1.00 1.00 - - - - vcomisd %xmm0, %xmm1
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 vcomisd (%rax), %xmm1
# CHECK-NEXT: - - 1.00 1.00 - - - - vcomiss %xmm0, %xmm1
Modified: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-sse1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-sse1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-sse1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-sse1.s Mon Mar 18 10:59:59 2019
@@ -202,10 +202,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 7 1.00 * andnps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 andps %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * andps (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 9 1.00 * cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 9 1.00 * cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * cmpeqps (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * cmpeqss (%rax), %xmm2
# CHECK-NEXT: 2 2 1.00 comiss %xmm0, %xmm1
# CHECK-NEXT: 3 8 1.00 * comiss (%rax), %xmm1
# CHECK-NEXT: 1 3 1.00 cvtpi2ps %mm0, %xmm2
@@ -343,10 +343,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 andnps (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - andps %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 andps (%rax), %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpeqps (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpeqss (%rax), %xmm2
# CHECK-NEXT: - - 1.00 1.00 - - - - comiss %xmm0, %xmm1
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 comiss (%rax), %xmm1
# CHECK-NEXT: - - - 1.00 - - - - cvtpi2ps %mm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-sse2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-sse2.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-sse2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Generic/resources-sse2.s Mon Mar 18 10:59:59 2019
@@ -416,10 +416,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * andpd (%rax), %xmm2
# CHECK-NEXT: 4 5 1.00 * * U clflush (%rax)
-# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 9 1.00 * cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 9 1.00 * cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * cmpeqsd (%rax), %xmm2
# CHECK-NEXT: 2 2 1.00 comisd %xmm0, %xmm1
# CHECK-NEXT: 3 8 1.00 * comisd (%rax), %xmm1
# CHECK-NEXT: 2 4 1.00 cvtdq2pd %xmm0, %xmm2
@@ -700,10 +700,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - andpd %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 andpd (%rax), %xmm2
# CHECK-NEXT: - - 0.50 0.50 1.00 1.00 0.50 0.50 clflush (%rax)
-# CHECK-NEXT: - - - 1.00 - - - - cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpeqsd (%rax), %xmm2
# CHECK-NEXT: - - 1.00 1.00 - - - - comisd %xmm0, %xmm1
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 comisd (%rax), %xmm1
# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtdq2pd %xmm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-avx1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-avx1.s Mon Mar 18 10:59:59 2019
@@ -1098,18 +1098,18 @@ vzeroupper
# CHECK-NEXT: 1 7 0.50 * vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: 1 6 0.50 * vbroadcastss (%rax), %xmm2
# CHECK-NEXT: 1 7 0.50 * vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: 1 3 1.00 vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 9 1.00 * vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 3 1.00 vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 10 1.00 * vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 3 1.00 vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 9 1.00 * vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 3 1.00 vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 10 1.00 * vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 3 1.00 vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 8 1.00 * vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 3 1.00 vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 8 1.00 * vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 8 1.00 * vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 8 1.00 * vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vcomisd %xmm0, %xmm1
# CHECK-NEXT: 2 8 1.00 * vcomisd (%rax), %xmm1
# CHECK-NEXT: 1 3 1.00 vcomiss %xmm0, %xmm1
@@ -1808,18 +1808,18 @@ vzeroupper
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcastss (%rax), %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - - - - - - vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - - - - - - vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - 1.00 - - - - - - vcomisd %xmm0, %xmm1
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - vcomisd (%rax), %xmm1
# CHECK-NEXT: - - - 1.00 - - - - - - vcomiss %xmm0, %xmm1
Modified: llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-sse1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-sse1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-sse1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-sse1.s Mon Mar 18 10:59:59 2019
@@ -202,10 +202,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 7 1.00 * andnps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 andps %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * andps (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 9 1.00 * cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 8 1.00 * cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * cmpeqps (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: 2 8 1.00 * cmpeqss (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 comiss %xmm0, %xmm1
# CHECK-NEXT: 2 8 1.00 * comiss (%rax), %xmm1
# CHECK-NEXT: 1 3 1.00 cvtpi2ps %mm0, %xmm2
@@ -345,10 +345,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andnps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - andps %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andps (%rax), %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpeqps (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpeqss (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - - - comiss %xmm0, %xmm1
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - comiss (%rax), %xmm1
# CHECK-NEXT: - - - 1.00 - - - - - - cvtpi2ps %mm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-sse2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-sse2.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-sse2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-sse2.s Mon Mar 18 10:59:59 2019
@@ -416,10 +416,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * andpd (%rax), %xmm2
# CHECK-NEXT: 2 2 1.00 * * U clflush (%rax)
-# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 9 1.00 * cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 8 1.00 * cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: 2 8 1.00 * cmpeqsd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 comisd %xmm0, %xmm1
# CHECK-NEXT: 2 8 1.00 * comisd (%rax), %xmm1
# CHECK-NEXT: 2 4 1.00 cvtdq2pd %xmm0, %xmm2
@@ -702,10 +702,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - andpd %xmm0, %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - andpd (%rax), %xmm2
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 1.25 - clflush (%rax)
-# CHECK-NEXT: - - - 1.00 - - - - - - cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - - - cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - - - cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - cmpeqsd (%rax), %xmm2
# CHECK-NEXT: - - - 1.00 - - - - - - comisd %xmm0, %xmm1
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - comisd (%rax), %xmm1
# CHECK-NEXT: - - - 1.00 - - - 1.00 - - cvtdq2pd %xmm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-sse1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-sse1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-sse1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-sse1.s Mon Mar 18 10:59:59 2019
@@ -202,10 +202,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 * andnps (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 andps %xmm0, %xmm2
# CHECK-NEXT: 1 4 1.00 * andps (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 6 1.00 * cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 6 1.00 * cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: 1 6 1.00 * cmpeqps (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: 1 6 1.00 * cmpeqss (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 comiss %xmm0, %xmm1
# CHECK-NEXT: 1 6 1.00 * comiss (%rax), %xmm1
# CHECK-NEXT: 1 4 0.50 cvtpi2ps %mm0, %xmm2
@@ -343,10 +343,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 andnps (%rax), %xmm2
# CHECK-NEXT: - - - 0.50 0.50 - - - andps %xmm0, %xmm2
# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 andps (%rax), %xmm2
-# CHECK-NEXT: - - - - 1.00 - - - cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - - 1.00 - - 1.00 cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: - - - - 1.00 - - - cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - - 1.00 - - 1.00 cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: - - - - 1.00 - - - cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - - 1.00 cmpeqps (%rax), %xmm2
+# CHECK-NEXT: - - - - 1.00 - - - cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - - 1.00 cmpeqss (%rax), %xmm2
# CHECK-NEXT: - - - - 1.00 - - - comiss %xmm0, %xmm1
# CHECK-NEXT: - - - - 1.00 - - 1.00 comiss (%rax), %xmm1
# CHECK-NEXT: - - - 0.50 0.50 - - - cvtpi2ps %mm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-sse2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-sse2.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-sse2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-sse2.s Mon Mar 18 10:59:59 2019
@@ -416,10 +416,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 andpd %xmm0, %xmm2
# CHECK-NEXT: 1 4 1.00 * andpd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 * * U clflush (%rax)
-# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 6 1.00 * cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 6 1.00 * cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: 1 6 1.00 * cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: 1 6 1.00 * cmpeqsd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 comisd %xmm0, %xmm1
# CHECK-NEXT: 1 6 1.00 * comisd (%rax), %xmm1
# CHECK-NEXT: 1 4 0.50 cvtdq2pd %xmm0, %xmm2
@@ -700,10 +700,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - 0.50 0.50 - - - andpd %xmm0, %xmm2
# CHECK-NEXT: - - - 0.50 0.50 - - 1.00 andpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 clflush (%rax)
-# CHECK-NEXT: - - - - 1.00 - - - cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - - 1.00 - - 1.00 cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: - - - - 1.00 - - - cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - - 1.00 - - 1.00 cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: - - - - 1.00 - - - cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - - 1.00 cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: - - - - 1.00 - - - cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: - - - - 1.00 - - 1.00 cmpeqsd (%rax), %xmm2
# CHECK-NEXT: - - - - 1.00 - - - comisd %xmm0, %xmm1
# CHECK-NEXT: - - - - 1.00 - - 1.00 comisd (%rax), %xmm1
# CHECK-NEXT: - - - 0.50 0.50 - - - cvtdq2pd %xmm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s Mon Mar 18 10:59:59 2019
@@ -1098,18 +1098,18 @@ vzeroupper
# CHECK-NEXT: 1 7 0.50 * vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: 1 6 0.50 * vbroadcastss (%rax), %xmm2
# CHECK-NEXT: 1 7 0.50 * vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: 1 3 1.00 vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 9 1.00 * vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 3 1.00 vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 10 1.00 * vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 3 1.00 vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 9 1.00 * vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 3 1.00 vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 10 1.00 * vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 3 1.00 vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 9 1.00 * vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 3 1.00 vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 9 1.00 * vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 9 1.00 * vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 2 1.00 vcomisd %xmm0, %xmm1
# CHECK-NEXT: 3 8 1.00 * vcomisd (%rax), %xmm1
# CHECK-NEXT: 2 2 1.00 vcomiss %xmm0, %xmm1
@@ -1806,18 +1806,18 @@ vzeroupper
# CHECK-NEXT: - - - - - - 0.50 0.50 vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: - - - - - - 0.50 0.50 vbroadcastss (%rax), %xmm2
# CHECK-NEXT: - - - - - - 0.50 0.50 vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: - - - 1.00 - - - - vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 - - - - vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - 1.00 - - - - vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - - - - vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - 1.00 - - - - vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - 1.00 1.00 - - - - vcomisd %xmm0, %xmm1
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 vcomisd (%rax), %xmm1
# CHECK-NEXT: - - 1.00 1.00 - - - - vcomiss %xmm0, %xmm1
Modified: llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s Mon Mar 18 10:59:59 2019
@@ -202,10 +202,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 7 1.00 * andnps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 andps %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * andps (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 9 1.00 * cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 9 1.00 * cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * cmpeqps (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * cmpeqss (%rax), %xmm2
# CHECK-NEXT: 2 2 1.00 comiss %xmm0, %xmm1
# CHECK-NEXT: 3 8 1.00 * comiss (%rax), %xmm1
# CHECK-NEXT: 1 3 1.00 cvtpi2ps %mm0, %xmm2
@@ -343,10 +343,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 andnps (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - andps %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 andps (%rax), %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpeqps (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpeqss (%rax), %xmm2
# CHECK-NEXT: - - 1.00 1.00 - - - - comiss %xmm0, %xmm1
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 comiss (%rax), %xmm1
# CHECK-NEXT: - - - 1.00 - - - - cvtpi2ps %mm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s Mon Mar 18 10:59:59 2019
@@ -416,10 +416,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * andpd (%rax), %xmm2
# CHECK-NEXT: 4 5 1.00 * * U clflush (%rax)
-# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 9 1.00 * cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 9 1.00 * cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: 2 9 1.00 * cmpeqsd (%rax), %xmm2
# CHECK-NEXT: 2 2 1.00 comisd %xmm0, %xmm1
# CHECK-NEXT: 3 8 1.00 * comisd (%rax), %xmm1
# CHECK-NEXT: 2 4 1.00 cvtdq2pd %xmm0, %xmm2
@@ -700,10 +700,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - - 1.00 - - andpd %xmm0, %xmm2
# CHECK-NEXT: - - - - - 1.00 0.50 0.50 andpd (%rax), %xmm2
# CHECK-NEXT: - - 0.50 0.50 1.00 1.00 0.50 0.50 clflush (%rax)
-# CHECK-NEXT: - - - 1.00 - - - - cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: - - - 1.00 - - - - cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: - - - 1.00 - - - - cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 cmpeqsd (%rax), %xmm2
# CHECK-NEXT: - - 1.00 1.00 - - - - comisd %xmm0, %xmm1
# CHECK-NEXT: - - 1.00 1.00 - - 0.50 0.50 comisd (%rax), %xmm1
# CHECK-NEXT: - - - 1.00 - 1.00 - - cvtdq2pd %xmm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s Mon Mar 18 10:59:59 2019
@@ -1098,18 +1098,18 @@ vzeroupper
# CHECK-NEXT: 1 7 0.50 * vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: 1 6 0.50 * vbroadcastss (%rax), %xmm2
# CHECK-NEXT: 1 7 0.50 * vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: 1 4 0.50 vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 9 0.50 * vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 9 0.50 * vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 4 0.50 vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 10 0.50 * vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 4 0.50 vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.50 vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 10 0.50 * vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 4 0.50 vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.50 vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 9 0.50 * vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 4 0.50 vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 9 0.50 * vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 2 1.00 vcomisd %xmm0, %xmm1
# CHECK-NEXT: 2 7 1.00 * vcomisd (%rax), %xmm1
# CHECK-NEXT: 1 2 1.00 vcomiss %xmm0, %xmm1
@@ -1808,18 +1808,18 @@ vzeroupper
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcastss (%rax), %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - vcomisd %xmm0, %xmm1
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcomisd (%rax), %xmm1
# CHECK-NEXT: - - 1.00 - - - - - - - vcomiss %xmm0, %xmm1
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s Mon Mar 18 10:59:59 2019
@@ -202,10 +202,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 7 0.50 * andnps (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 andps %xmm0, %xmm2
# CHECK-NEXT: 2 7 0.50 * andps (%rax), %xmm2
-# CHECK-NEXT: 1 4 0.50 cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: 1 4 0.50 cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 9 0.50 * cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: 1 4 0.50 cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: 2 10 0.50 * cmpeqps (%rax), %xmm2
+# CHECK-NEXT: 1 4 0.50 cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: 2 9 0.50 * cmpeqss (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 comiss %xmm0, %xmm1
# CHECK-NEXT: 2 7 1.00 * comiss (%rax), %xmm1
# CHECK-NEXT: 2 6 2.00 cvtpi2ps %mm0, %xmm2
@@ -345,10 +345,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andnps (%rax), %xmm2
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andps %xmm0, %xmm2
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andps (%rax), %xmm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpeqps (%rax), %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpeqss (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - comiss %xmm0, %xmm1
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - comiss (%rax), %xmm1
# CHECK-NEXT: - - 2.00 - - - - - - - cvtpi2ps %mm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s Mon Mar 18 10:59:59 2019
@@ -416,10 +416,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 0.50 * andpd (%rax), %xmm2
# CHECK-NEXT: 2 2 1.00 * * U clflush (%rax)
-# CHECK-NEXT: 1 4 0.50 cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: 1 4 0.50 cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 9 0.50 * cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: 1 4 0.50 cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: 2 10 0.50 * cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: 1 4 0.50 cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: 2 9 0.50 * cmpeqsd (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 comisd %xmm0, %xmm1
# CHECK-NEXT: 2 7 1.00 * comisd (%rax), %xmm1
# CHECK-NEXT: 2 5 1.00 cvtdq2pd %xmm0, %xmm2
@@ -702,10 +702,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andpd %xmm0, %xmm2
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andpd (%rax), %xmm2
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 1.25 - clflush (%rax)
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpeqsd (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - comisd %xmm0, %xmm1
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - comisd (%rax), %xmm1
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - cvtdq2pd %xmm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s Mon Mar 18 10:59:59 2019
@@ -1098,18 +1098,18 @@ vzeroupper
# CHECK-NEXT: 1 7 0.50 * vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: 1 6 0.50 * vbroadcastss (%rax), %xmm2
# CHECK-NEXT: 1 7 0.50 * vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: 1 4 0.50 vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 4 0.50 vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 9 0.50 * vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 9 0.50 * vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 4 0.50 vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 10 0.50 * vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 4 0.50 vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.50 vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 10 0.50 * vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 4 0.50 vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 0.50 * vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.50 vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 9 0.50 * vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 4 0.50 vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 9 0.50 * vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 2 1.00 vcomisd %xmm0, %xmm1
# CHECK-NEXT: 2 7 1.00 * vcomisd (%rax), %xmm1
# CHECK-NEXT: 1 2 1.00 vcomiss %xmm0, %xmm1
@@ -1808,18 +1808,18 @@ vzeroupper
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcastss (%rax), %xmm2
# CHECK-NEXT: - - - - 0.50 0.50 - - - - vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - vcomisd %xmm0, %xmm1
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vcomisd (%rax), %xmm1
# CHECK-NEXT: - - 1.00 - - - - - - - vcomiss %xmm0, %xmm1
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s Mon Mar 18 10:59:59 2019
@@ -202,10 +202,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 7 0.50 * andnps (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 andps %xmm0, %xmm2
# CHECK-NEXT: 2 7 0.50 * andps (%rax), %xmm2
-# CHECK-NEXT: 1 4 0.50 cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: 1 4 0.50 cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 9 0.50 * cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: 1 4 0.50 cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: 2 10 0.50 * cmpeqps (%rax), %xmm2
+# CHECK-NEXT: 1 4 0.50 cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: 2 9 0.50 * cmpeqss (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 comiss %xmm0, %xmm1
# CHECK-NEXT: 2 7 1.00 * comiss (%rax), %xmm1
# CHECK-NEXT: 2 6 2.00 cvtpi2ps %mm0, %xmm2
@@ -345,10 +345,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andnps (%rax), %xmm2
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andps %xmm0, %xmm2
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andps (%rax), %xmm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpeqps (%rax), %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpeqss (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - comiss %xmm0, %xmm1
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - comiss (%rax), %xmm1
# CHECK-NEXT: - - - - - - - 2.00 - - cvtpi2ps %mm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s Mon Mar 18 10:59:59 2019
@@ -416,10 +416,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 0.50 * andpd (%rax), %xmm2
# CHECK-NEXT: 2 2 1.00 * * U clflush (%rax)
-# CHECK-NEXT: 1 4 0.50 cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: 1 4 0.50 cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: 2 9 0.50 * cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: 1 4 0.50 cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: 2 10 0.50 * cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: 1 4 0.50 cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: 2 9 0.50 * cmpeqsd (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 comisd %xmm0, %xmm1
# CHECK-NEXT: 2 7 1.00 * comisd (%rax), %xmm1
# CHECK-NEXT: 1 4 0.50 cvtdq2pd %xmm0, %xmm2
@@ -702,10 +702,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - 0.33 0.33 - - - 0.33 - - andpd %xmm0, %xmm2
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - andpd (%rax), %xmm2
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 1.25 - clflush (%rax)
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - cmpeqsd (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - comisd %xmm0, %xmm1
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - comisd (%rax), %xmm1
# CHECK-NEXT: - - 0.50 0.50 - - - - - - cvtdq2pd %xmm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-avx1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-avx1.s Mon Mar 18 10:59:59 2019
@@ -1098,18 +1098,18 @@ vzeroupper
# CHECK-NEXT: 1 8 0.50 * vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: 1 8 0.50 * vbroadcastss (%rax), %xmm2
# CHECK-NEXT: 1 8 0.50 * vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: 1 3 1.00 vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 10 1.00 * vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 3 1.00 vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 10 1.00 * vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 3 1.00 vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 10 1.00 * vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 3 1.00 vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 10 1.00 * vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 3 1.00 vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 10 1.00 * vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 3 1.00 vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 1 10 1.00 * vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 10 1.00 * vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 10 1.00 * vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 10 1.00 * vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 1 10 1.00 * vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 10 1.00 * vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 3 1.00 vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 10 1.00 * vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vcomisd %xmm0, %xmm1
# CHECK-NEXT: 1 10 1.00 * vcomisd (%rax), %xmm1
# CHECK-NEXT: 1 3 1.00 vcomiss %xmm0, %xmm1
@@ -1810,18 +1810,18 @@ vzeroupper
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vbroadcastsd (%rax), %ymm2
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vbroadcastss (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 0.50 - - vbroadcastss (%rax), %ymm2
-# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmppd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmppd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmppd $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmppd $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpps $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpps $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpps $0, %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpps $0, (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpsd $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpsd $0, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpss $0, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpss $0, (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpeqpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpeqpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpeqpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpeqpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpeqps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpeqps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpeqps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpeqps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpeqsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpeqsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - vcmpeqss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcmpeqss (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - vcomisd %xmm0, %xmm1
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - vcomisd (%rax), %xmm1
# CHECK-NEXT: - - - - - - - 1.00 - - - - vcomiss %xmm0, %xmm1
Modified: llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-sse1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-sse1.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-sse1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-sse1.s Mon Mar 18 10:59:59 2019
@@ -202,10 +202,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 8 0.50 * andnps (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 andps %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * andps (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 10 1.00 * cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 10 1.00 * cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: 1 10 1.00 * cmpeqps (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: 1 10 1.00 * cmpeqss (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 comiss %xmm0, %xmm1
# CHECK-NEXT: 1 10 1.00 * comiss (%rax), %xmm1
# CHECK-NEXT: 1 5 1.00 cvtpi2ps %mm0, %xmm2
@@ -347,10 +347,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - andnps (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - andps %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - andps (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - - - cmpps $0, %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - cmpps $0, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - - - cmpss $0, %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - cmpss $0, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - cmpeqps %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - cmpeqps (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - cmpeqss %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - cmpeqss (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - comiss %xmm0, %xmm1
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - comiss (%rax), %xmm1
# CHECK-NEXT: - - - - - - - - - - 1.00 - cvtpi2ps %mm0, %xmm2
Modified: llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-sse2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-sse2.s?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-sse2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Znver1/resources-sse2.s Mon Mar 18 10:59:59 2019
@@ -416,10 +416,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 andpd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * andpd (%rax), %xmm2
# CHECK-NEXT: 1 8 0.50 * * U clflush (%rax)
-# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 10 1.00 * cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: 1 10 1.00 * cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: 1 10 1.00 * cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: 1 3 1.00 cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: 1 10 1.00 * cmpeqsd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 comisd %xmm0, %xmm1
# CHECK-NEXT: 1 10 1.00 * comisd (%rax), %xmm1
# CHECK-NEXT: 1 5 1.00 cvtdq2pd %xmm0, %xmm2
@@ -704,10 +704,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - andpd %xmm0, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.25 0.25 0.25 0.25 - andpd (%rax), %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - clflush (%rax)
-# CHECK-NEXT: - - - - - - - 1.00 - - - - cmppd $0, %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - cmppd $0, (%rax), %xmm2
-# CHECK-NEXT: - - - - - - - 1.00 - - - - cmpsd $0, %xmm0, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - cmpsd $0, (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - cmpeqpd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - cmpeqpd (%rax), %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 - - - - cmpeqsd %xmm0, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - cmpeqsd (%rax), %xmm2
# CHECK-NEXT: - - - - - - - 1.00 - - - - comisd %xmm0, %xmm1
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - comisd (%rax), %xmm1
# CHECK-NEXT: - - - - - - - - 0.50 0.50 1.00 - cvtdq2pd %xmm0, %xmm2
Modified: llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp?rev=356384&r1=356383&r2=356384&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp (original)
+++ llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp Mon Mar 18 10:59:59 2019
@@ -848,8 +848,6 @@ OperandType RecognizableInstr::typeFromS
TYPE("i64i32imm_pcrel", TYPE_REL)
TYPE("i16imm_pcrel", TYPE_REL)
TYPE("i32imm_pcrel", TYPE_REL)
- TYPE("SSECC", TYPE_IMM3)
- TYPE("AVXCC", TYPE_IMM5)
TYPE("AVX512RC", TYPE_IMM)
TYPE("brtarget32", TYPE_REL)
TYPE("brtarget16", TYPE_REL)
@@ -929,8 +927,6 @@ RecognizableInstr::immediateEncodingFrom
ENCODING("i16imm", ENCODING_IW)
}
ENCODING("i32i8imm", ENCODING_IB)
- ENCODING("SSECC", ENCODING_IB)
- ENCODING("AVXCC", ENCODING_IB)
ENCODING("AVX512RC", ENCODING_IRC)
ENCODING("i16imm", ENCODING_Iv)
ENCODING("i16i8imm", ENCODING_IB)
More information about the llvm-commits
mailing list