2012-07-12 03:50:46 +08:00
|
|
|
; RUN: llc -march=mipsel < %s | FileCheck %s
|
|
|
|
|
|
|
|
@foo12.d4 = internal unnamed_addr global double 0.000000e+00, align 8
|
|
|
|
|
|
|
|
define double @foo12(i32 %a, i32, i64 %b) nounwind {
|
|
|
|
entry:
|
|
|
|
; check that this transformation doesn't happen:
|
|
|
|
; (sint_to_fp (setcc x, y, cc)) -> (select_cc x, y, -1.0, 0.0,, cc)
|
|
|
|
;
|
2015-12-08 10:37:48 +08:00
|
|
|
; CHECK-NOT: # double -1
|
2012-07-12 03:50:46 +08:00
|
|
|
|
|
|
|
%tobool1 = icmp ne i32 %a, 0
|
|
|
|
%not.tobool = icmp ne i64 %b, 0
|
|
|
|
%tobool1. = or i1 %tobool1, %not.tobool
|
|
|
|
%lor.ext = zext i1 %tobool1. to i32
|
|
|
|
%conv = sitofp i32 %lor.ext to double
|
2015-02-28 05:17:42 +08:00
|
|
|
%1 = load double, double* @foo12.d4, align 8
|
2012-07-12 03:50:46 +08:00
|
|
|
%add = fadd double %conv, %1
|
|
|
|
store double %add, double* @foo12.d4, align 8
|
|
|
|
ret double %add
|
|
|
|
}
|