mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-28 23:43:50 +00:00
Replace duplicated code with a existing helper function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199468 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
84887ceca3
commit
ad6662f202
@ -754,22 +754,7 @@ void X86MCCodeEmitter::EmitVEXOpcodePrefix(uint64_t TSFlags, unsigned &CurByte,
|
||||
|
||||
// Classify VEX_B, VEX_4V, VEX_R, VEX_X
|
||||
unsigned NumOps = Desc.getNumOperands();
|
||||
unsigned CurOp = 0;
|
||||
if (NumOps > 1 && Desc.getOperandConstraint(1, MCOI::TIED_TO) == 0)
|
||||
++CurOp;
|
||||
else if (NumOps > 3 && Desc.getOperandConstraint(2, MCOI::TIED_TO) == 0 &&
|
||||
Desc.getOperandConstraint(3, MCOI::TIED_TO) == 1)
|
||||
// Special case for AVX-512 GATHER with 2 TIED_TO operands
|
||||
// Skip the first 2 operands: dst, mask_wb
|
||||
CurOp += 2;
|
||||
else if (NumOps > 3 && Desc.getOperandConstraint(2, MCOI::TIED_TO) == 0 &&
|
||||
Desc.getOperandConstraint(NumOps - 1, MCOI::TIED_TO) == 1)
|
||||
// Special case for GATHER with 2 TIED_TO operands
|
||||
// Skip the first 2 operands: dst, mask_wb
|
||||
CurOp += 2;
|
||||
else if (NumOps > 2 && Desc.getOperandConstraint(NumOps - 2, MCOI::TIED_TO) == 0)
|
||||
// SCATTER
|
||||
++CurOp;
|
||||
unsigned CurOp = X86II::getOperandBias(Desc);
|
||||
|
||||
switch (TSFlags & X86II::FormMask) {
|
||||
default: llvm_unreachable("Unexpected form in EmitVEXOpcodePrefix!");
|
||||
|
Loading…
Reference in New Issue
Block a user