mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-08 06:32:24 +00:00
add checking intentionally elided for vfcmp/vicmp since they should really
just be removed. However, this fixes PR3281:crash04.ll, diagnosing it with: lvm-as: crash04.ll:2:13: vfcmp requires vector floating point operands vfcmp uno double* undef, undef ^ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61680 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d77d04c323
commit
4a1c4a414c
@ -2677,8 +2677,12 @@ bool LLParser::ParseCompare(Instruction *&Inst, PerFunctionState &PFS,
|
||||
return Error(Loc, "icmp requires integer operands");
|
||||
Inst = new ICmpInst(CmpInst::Predicate(Pred), LHS, RHS);
|
||||
} else if (Opc == Instruction::VFCmp) {
|
||||
if (!LHS->getType()->isFPOrFPVector() || !isa<VectorType>(LHS->getType()))
|
||||
return Error(Loc, "vfcmp requires vector floating point operands");
|
||||
Inst = new VFCmpInst(CmpInst::Predicate(Pred), LHS, RHS);
|
||||
} else if (Opc == Instruction::VICmp) {
|
||||
if (!LHS->getType()->isIntOrIntVector() || !isa<VectorType>(LHS->getType()))
|
||||
return Error(Loc, "vicmp requires vector floating point operands");
|
||||
Inst = new VICmpInst(CmpInst::Predicate(Pred), LHS, RHS);
|
||||
}
|
||||
return false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user