[llvm] r272464 - [X86][AVX512] Tidied up VSHUFF32x4/VSHUFF64x2/VSHUFI32x4/VSHUFI64x2 comment generation
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sat Jun 11 04:18:40 PDT 2016
Author: rksimon
Date: Sat Jun 11 06:18:38 2016
New Revision: 272464
URL: http://llvm.org/viewvc/llvm-project?rev=272464&view=rev
Log:
[X86][AVX512] Tidied up VSHUFF32x4/VSHUFF64x2/VSHUFI32x4/VSHUFI64x2 comment generation
Now matches other shuffles
Modified:
llvm/trunk/lib/Target/X86/InstPrinter/X86InstComments.cpp
Modified: llvm/trunk/lib/Target/X86/InstPrinter/X86InstComments.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/InstPrinter/X86InstComments.cpp?rev=272464&r1=272463&r2=272464&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/InstPrinter/X86InstComments.cpp (original)
+++ llvm/trunk/lib/Target/X86/InstPrinter/X86InstComments.cpp Sat Jun 11 06:18:38 2016
@@ -129,27 +129,6 @@ static MVT getZeroExtensionResultType(co
}
}
-/// \brief Extracts the types and if it has memory operand for a given
-/// (SHUFF32x4/SHUFF64x2/SHUFI32x4/SHUFI64x2) instruction.
-static void getVSHUF64x2FamilyInfo(const MCInst *MI, MVT &VT, bool &HasMemOp) {
- HasMemOp = false;
- switch (MI->getOpcode()) {
- default:
- llvm_unreachable("Unknown VSHUF64x2 family instructions.");
- break;
- CASE_VSHUF(64X2, m)
- HasMemOp = true; // FALL THROUGH.
- CASE_VSHUF(64X2, r)
- VT = getRegOperandVectorVT(MI, MVT::i64, 0);
- break;
- CASE_VSHUF(32X4, m)
- HasMemOp = true; // FALL THROUGH.
- CASE_VSHUF(32X4, r)
- VT = getRegOperandVectorVT(MI, MVT::i32, 0);
- break;
- }
-}
-
//===----------------------------------------------------------------------===//
// Top Level Entrypoint
//===----------------------------------------------------------------------===//
@@ -539,25 +518,28 @@ bool llvm::EmitAnyX86InstComments(const
break;
CASE_VSHUF(64X2, r)
+ Src2Name = getRegName(MI->getOperand(NumOperands - 2).getReg());
+ RegForm = true;
+ // FALL THROUGH.
CASE_VSHUF(64X2, m)
+ decodeVSHUF64x2FamilyMask(getRegOperandVectorVT(MI, MVT::i64, 0),
+ MI->getOperand(NumOperands - 1).getImm(),
+ ShuffleMask);
+ Src1Name = getRegName(MI->getOperand(NumOperands-(RegForm?3:7)).getReg());
+ DestName = getRegName(MI->getOperand(0).getReg());
+ break;
+
CASE_VSHUF(32X4, r)
- CASE_VSHUF(32X4, m) {
- MVT VT;
- bool HasMemOp;
- getVSHUF64x2FamilyInfo(MI, VT, HasMemOp);
- decodeVSHUF64x2FamilyMask(VT, MI->getOperand(NumOperands - 1).getImm(),
+ Src2Name = getRegName(MI->getOperand(NumOperands - 2).getReg());
+ RegForm = true;
+ // FALL THROUGH.
+ CASE_VSHUF(32X4, m)
+ decodeVSHUF64x2FamilyMask(getRegOperandVectorVT(MI, MVT::i32, 0),
+ MI->getOperand(NumOperands - 1).getImm(),
ShuffleMask);
+ Src1Name = getRegName(MI->getOperand(NumOperands-(RegForm?3:7)).getReg());
DestName = getRegName(MI->getOperand(0).getReg());
- if (HasMemOp) {
- assert((NumOperands >= 8) && "Expected at least 8 operands!");
- Src1Name = getRegName(MI->getOperand(NumOperands - 7).getReg());
- } else {
- assert((NumOperands >= 4) && "Expected at least 4 operands!");
- Src2Name = getRegName(MI->getOperand(NumOperands - 2).getReg());
- Src1Name = getRegName(MI->getOperand(NumOperands - 3).getReg());
- }
break;
- }
CASE_UNPCK(UNPCKLPD, r)
Src2Name = getRegName(MI->getOperand(NumOperands - 1).getReg());
More information about the llvm-commits
mailing list