mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +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);
|
||||
if (Cmp.getOpcode() != X86ISD::CMP || !Cmp.hasOneUse() ||
|
||||
!X86::isZeroNode(Cmp.getOperand(1)))
|
||||
!X86::isZeroNode(Cmp.getOperand(1)) ||
|
||||
!Cmp.getOperand(0).getValueType().isInteger())
|
||||
return SDValue();
|
||||
|
||||
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
|
||||
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