Akira Hatanaka | 1bda786 | 2012-07-16 23:56:51 +0000 | [diff] [blame] | 1 | ; RUN: llc -march=mipsel < %s |
Akira Hatanaka | 3fef29d | 2012-07-11 19:32:27 +0000 | [diff] [blame] | 2 | |
Akira Hatanaka | 1bda786 | 2012-07-16 23:56:51 +0000 | [diff] [blame] | 3 | @gf0 = external global float |
| 4 | @gf1 = external global float |
Akira Hatanaka | 3fef29d | 2012-07-11 19:32:27 +0000 | [diff] [blame] | 5 | @gd0 = external global double |
| 6 | @gd1 = external global double |
| 7 | |
Akira Hatanaka | 1bda786 | 2012-07-16 23:56:51 +0000 | [diff] [blame] | 8 | define float @select_cc_f32(float %a, float %b) nounwind { |
Akira Hatanaka | 3fef29d | 2012-07-11 19:32:27 +0000 | [diff] [blame] | 9 | entry: |
Akira Hatanaka | 1bda786 | 2012-07-16 23:56:51 +0000 | [diff] [blame] | 10 | store float 0.000000e+00, float* @gf0, align 4 |
| 11 | store float 1.000000e+00, float* @gf1, align 4 |
Akira Hatanaka | 3fef29d | 2012-07-11 19:32:27 +0000 | [diff] [blame] | 12 | %cmp = fcmp olt float %a, %b |
| 13 | %conv = zext i1 %cmp to i32 |
Akira Hatanaka | 1bda786 | 2012-07-16 23:56:51 +0000 | [diff] [blame] | 14 | %conv1 = sitofp i32 %conv to float |
| 15 | ret float %conv1 |
Akira Hatanaka | 3fef29d | 2012-07-11 19:32:27 +0000 | [diff] [blame] | 16 | } |
| 17 | |
| 18 | define double @select_cc_f64(double %a, double %b) nounwind { |
| 19 | entry: |
| 20 | store double 0.000000e+00, double* @gd0, align 8 |
| 21 | store double 1.000000e+00, double* @gd1, align 8 |
| 22 | %cmp = fcmp olt double %a, %b |
| 23 | %conv = zext i1 %cmp to i32 |
| 24 | %conv1 = sitofp i32 %conv to double |
| 25 | ret double %conv1 |
| 26 | } |
| 27 | |