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