1*9880d681SAndroid Build Coastguard Worker; RUN: llc -march=mipsel < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker@foo12.d4 = internal unnamed_addr global double 0.000000e+00, align 8 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Workerdefine double @foo12(i32 %a, i32, i64 %b) nounwind { 6*9880d681SAndroid Build Coastguard Workerentry: 7*9880d681SAndroid Build Coastguard Worker; check that this transformation doesn't happen: 8*9880d681SAndroid Build Coastguard Worker; (sint_to_fp (setcc x, y, cc)) -> (select_cc x, y, -1.0, 0.0,, cc) 9*9880d681SAndroid Build Coastguard Worker; 10*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: # double -1 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Worker %tobool1 = icmp ne i32 %a, 0 13*9880d681SAndroid Build Coastguard Worker %not.tobool = icmp ne i64 %b, 0 14*9880d681SAndroid Build Coastguard Worker %tobool1. = or i1 %tobool1, %not.tobool 15*9880d681SAndroid Build Coastguard Worker %lor.ext = zext i1 %tobool1. to i32 16*9880d681SAndroid Build Coastguard Worker %conv = sitofp i32 %lor.ext to double 17*9880d681SAndroid Build Coastguard Worker %1 = load double, double* @foo12.d4, align 8 18*9880d681SAndroid Build Coastguard Worker %add = fadd double %conv, %1 19*9880d681SAndroid Build Coastguard Worker store double %add, double* @foo12.d4, align 8 20*9880d681SAndroid Build Coastguard Worker ret double %add 21*9880d681SAndroid Build Coastguard Worker} 22