mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 02:52:53 +02:00
[GlobalISel] Disable vector types in narrowScalarAddSub
The implementation for vectors is broken and doesn't seem to be used by anything. Explicitly remove support for them, they can be added again later when they're properly implemented. Reviewed By: aemerson Differential Revision: https://reviews.llvm.org/D95699
This commit is contained in:
parent
e7dde42613
commit
615b38354f
@ -4447,7 +4447,13 @@ LegalizerHelper::narrowScalarAddSub(MachineInstr &MI, unsigned TypeIdx,
|
||||
if (TypeIdx != 0)
|
||||
return UnableToLegalize;
|
||||
|
||||
uint64_t SizeOp0 = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits();
|
||||
Register DstReg = MI.getOperand(0).getReg();
|
||||
LLT DstType = MRI.getType(DstReg);
|
||||
// FIXME: add support for vector types
|
||||
if (DstType.isVector())
|
||||
return UnableToLegalize;
|
||||
|
||||
uint64_t SizeOp0 = DstType.getSizeInBits();
|
||||
uint64_t NarrowSize = NarrowTy.getSizeInBits();
|
||||
|
||||
// FIXME: add support for when SizeOp0 isn't an exact multiple of
|
||||
@ -4492,12 +4498,7 @@ LegalizerHelper::narrowScalarAddSub(MachineInstr &MI, unsigned TypeIdx,
|
||||
DstRegs.push_back(DstReg);
|
||||
CarryIn = CarryOut;
|
||||
}
|
||||
|
||||
Register DstReg = MI.getOperand(0).getReg();
|
||||
if (MRI.getType(DstReg).isVector())
|
||||
MIRBuilder.buildBuildVector(DstReg, DstRegs);
|
||||
else
|
||||
MIRBuilder.buildMerge(DstReg, DstRegs);
|
||||
MIRBuilder.buildMerge(DstReg, DstRegs);
|
||||
MI.eraseFromParent();
|
||||
return Legalized;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user