produce the same diagnostics for vicmp constant exprs as vicmp instructions.
llvm-svn: 61685
This commit is contained in:
parent
eeefa9a098
commit
229b0304f0
|
@ -1728,9 +1728,15 @@ bool LLParser::ParseValID(ValID &ID) {
|
||||||
ID.ConstantVal = ConstantExpr::getICmp(Pred, Val0, Val1);
|
ID.ConstantVal = ConstantExpr::getICmp(Pred, Val0, Val1);
|
||||||
} else if (Opc == Instruction::VFCmp) {
|
} else if (Opc == Instruction::VFCmp) {
|
||||||
// FIXME: REMOVE VFCMP Support
|
// FIXME: REMOVE VFCMP Support
|
||||||
|
if (!Val0->getType()->isFPOrFPVector() ||
|
||||||
|
!isa<VectorType>(Val0->getType()))
|
||||||
|
return Error(ID.Loc, "vfcmp requires vector floating point operands");
|
||||||
ID.ConstantVal = ConstantExpr::getVFCmp(Pred, Val0, Val1);
|
ID.ConstantVal = ConstantExpr::getVFCmp(Pred, Val0, Val1);
|
||||||
} else if (Opc == Instruction::VICmp) {
|
} else if (Opc == Instruction::VICmp) {
|
||||||
// FIXME: REMOVE VFCMP Support
|
// FIXME: REMOVE VICMP Support
|
||||||
|
if (!Val0->getType()->isIntOrIntVector() ||
|
||||||
|
!isa<VectorType>(Val0->getType()))
|
||||||
|
return Error(ID.Loc, "vicmp requires vector floating point operands");
|
||||||
ID.ConstantVal = ConstantExpr::getVICmp(Pred, Val0, Val1);
|
ID.ConstantVal = ConstantExpr::getVICmp(Pred, Val0, Val1);
|
||||||
}
|
}
|
||||||
ID.Kind = ValID::t_Constant;
|
ID.Kind = ValID::t_Constant;
|
||||||
|
|
Loading…
Reference in New Issue