mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
fix PR8981, a crash trying to form a conditional inc with a floating point compare.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123560 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b99fdee325
commit
9cd3da47f9
@ -11560,7 +11560,8 @@ static SDValue OptimizeConditonalInDecrement(SDNode *N, SelectionDAG &DAG) {
|
|||||||
|
|
||||||
SDValue Cmp = SetCC.getOperand(1);
|
SDValue Cmp = SetCC.getOperand(1);
|
||||||
if (Cmp.getOpcode() != X86ISD::CMP || !Cmp.hasOneUse() ||
|
if (Cmp.getOpcode() != X86ISD::CMP || !Cmp.hasOneUse() ||
|
||||||
!X86::isZeroNode(Cmp.getOperand(1)))
|
!X86::isZeroNode(Cmp.getOperand(1)) ||
|
||||||
|
!Cmp.getOperand(0).getValueType().isInteger())
|
||||||
return SDValue();
|
return SDValue();
|
||||||
|
|
||||||
SDValue CmpOp0 = Cmp.getOperand(0);
|
SDValue CmpOp0 = Cmp.getOperand(0);
|
||||||
|
@ -141,3 +141,13 @@ entry:
|
|||||||
call void asm sideeffect "outb $0, ${1:w}", "{ax},N{dx},~{dirflag},~{fpsr},~{flags}"(i8 %conv4.i, i32 1017) nounwind
|
call void asm sideeffect "outb $0, ${1:w}", "{ax},N{dx},~{dirflag},~{fpsr},~{flags}"(i8 %conv4.i, i32 1017) nounwind
|
||||||
unreachable
|
unreachable
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; Crash trying to form conditional increment with fp value.
|
||||||
|
; PR8981
|
||||||
|
define i32 @test9(double %X) ssp align 2 {
|
||||||
|
entry:
|
||||||
|
%0 = fcmp one double %X, 0.000000e+00
|
||||||
|
%cond = select i1 %0, i32 1, i32 2
|
||||||
|
ret i32 %cond
|
||||||
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user