mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-26 12:20:42 +00:00
PR10180: Fix a instcombine crash with FP vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133756 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -796,7 +796,7 @@ Instruction *InstCombiner::visitSelectInst(SelectInst &SI) {
|
||||
// So at this point we know we have (Y -> OtherAddOp):
|
||||
// select C, (add X, Y), (sub X, Z)
|
||||
Value *NegVal; // Compute -Z
|
||||
if (SI.getType()->isFloatingPointTy()) {
|
||||
if (SI.getType()->isFPOrFPVectorTy()) {
|
||||
NegVal = Builder->CreateFNeg(SubOp->getOperand(1));
|
||||
} else {
|
||||
NegVal = Builder->CreateNeg(SubOp->getOperand(1));
|
||||
@@ -810,7 +810,7 @@ Instruction *InstCombiner::visitSelectInst(SelectInst &SI) {
|
||||
Builder->CreateSelect(CondVal, NewTrueOp,
|
||||
NewFalseOp, SI.getName() + ".p");
|
||||
|
||||
if (SI.getType()->isFloatingPointTy())
|
||||
if (SI.getType()->isFPOrFPVectorTy())
|
||||
return BinaryOperator::CreateFAdd(SubOp->getOperand(0), NewSel);
|
||||
else
|
||||
return BinaryOperator::CreateAdd(SubOp->getOperand(0), NewSel);
|
||||
|
||||
Reference in New Issue
Block a user