Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 1 | ; RUN: llc < %s -march=arm -mattr=+vfp2 | FileCheck %s --check-prefix=CHECK-VFP |
2 | ; RUN: llc < %s -march=arm | FileCheck %s | ||||
Rafael Espindola | 2dc0f2b | 2006-10-09 17:50:29 +0000 | [diff] [blame] | 3 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 4 | define float @f1(double %x) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 5 | ;CHECK-VFP: f1: |
6 | ;CHECK-VFP: fcvtsd | ||||
7 | ;CHECK: f1: | ||||
8 | ;CHECK: truncdfsf2 | ||||
Rafael Espindola | 2dc0f2b | 2006-10-09 17:50:29 +0000 | [diff] [blame] | 9 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 10 | %tmp1 = fptrunc double %x to float ; <float> [#uses=1] |
Rafael Espindola | 2dc0f2b | 2006-10-09 17:50:29 +0000 | [diff] [blame] | 11 | ret float %tmp1 |
12 | } | ||||
13 | |||||
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 14 | define double @f2(float %x) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 15 | ;CHECK-VFP: f2: |
16 | ;CHECK-VFP: fcvtds | ||||
17 | ;CHECK: f2: | ||||
18 | ;CHECK: extendsfdf2 | ||||
Rafael Espindola | 2dc0f2b | 2006-10-09 17:50:29 +0000 | [diff] [blame] | 19 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 20 | %tmp1 = fpext float %x to double ; <double> [#uses=1] |
Rafael Espindola | 2dc0f2b | 2006-10-09 17:50:29 +0000 | [diff] [blame] | 21 | ret double %tmp1 |
22 | } | ||||
Rafael Espindola | b47e1d0 | 2006-10-10 18:55:14 +0000 | [diff] [blame] | 23 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 24 | define i32 @f3(float %x) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 25 | ;CHECK-VFP: f3: |
26 | ;CHECK-VFP: ftosizs | ||||
27 | ;CHECK: f3: | ||||
28 | ;CHECK: fixsfsi | ||||
Rafael Espindola | b47e1d0 | 2006-10-10 18:55:14 +0000 | [diff] [blame] | 29 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 30 | %tmp = fptosi float %x to i32 ; <i32> [#uses=1] |
31 | ret i32 %tmp | ||||
Rafael Espindola | b47e1d0 | 2006-10-10 18:55:14 +0000 | [diff] [blame] | 32 | } |
33 | |||||
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 34 | define i32 @f4(float %x) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 35 | ;CHECK-VFP: f4: |
36 | ;CHECK-VFP: ftouizs | ||||
37 | ;CHECK: f4: | ||||
38 | ;CHECK: fixunssfsi | ||||
Rafael Espindola | 493a7fc | 2006-10-10 20:38:57 +0000 | [diff] [blame] | 39 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 40 | %tmp = fptoui float %x to i32 ; <i32> [#uses=1] |
41 | ret i32 %tmp | ||||
Rafael Espindola | 493a7fc | 2006-10-10 20:38:57 +0000 | [diff] [blame] | 42 | } |
43 | |||||
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 44 | define i32 @f5(double %x) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 45 | ;CHECK-VFP: f5: |
46 | ;CHECK-VFP: ftosizd | ||||
47 | ;CHECK: f5: | ||||
48 | ;CHECK: fixdfsi | ||||
Rafael Espindola | 278dbaa | 2006-10-17 20:20:07 +0000 | [diff] [blame] | 49 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 50 | %tmp = fptosi double %x to i32 ; <i32> [#uses=1] |
51 | ret i32 %tmp | ||||
Rafael Espindola | 278dbaa | 2006-10-17 20:20:07 +0000 | [diff] [blame] | 52 | } |
53 | |||||
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 54 | define i32 @f6(double %x) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 55 | ;CHECK-VFP: f6: |
56 | ;CHECK-VFP: ftouizd | ||||
57 | ;CHECK: f6: | ||||
58 | ;CHECK: fixunsdfsi | ||||
Rafael Espindola | 493a7fc | 2006-10-10 20:38:57 +0000 | [diff] [blame] | 59 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 60 | %tmp = fptoui double %x to i32 ; <i32> [#uses=1] |
61 | ret i32 %tmp | ||||
Rafael Espindola | 493a7fc | 2006-10-10 20:38:57 +0000 | [diff] [blame] | 62 | } |
Rafael Espindola | 278dbaa | 2006-10-17 20:20:07 +0000 | [diff] [blame] | 63 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 64 | define float @f7(i32 %a) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 65 | ;CHECK-VFP: f7: |
66 | ;CHECK-VFP: fsitos | ||||
67 | ;CHECK: f7: | ||||
68 | ;CHECK: floatsisf | ||||
Rafael Espindola | 278dbaa | 2006-10-17 20:20:07 +0000 | [diff] [blame] | 69 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 70 | %tmp = sitofp i32 %a to float ; <float> [#uses=1] |
Rafael Espindola | 278dbaa | 2006-10-17 20:20:07 +0000 | [diff] [blame] | 71 | ret float %tmp |
72 | } | ||||
73 | |||||
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 74 | define double @f8(i32 %a) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 75 | ;CHECK-VFP: f8: |
76 | ;CHECK-VFP: fsitod | ||||
77 | ;CHECK: f8: | ||||
78 | ;CHECK: floatsidf | ||||
Rafael Espindola | 278dbaa | 2006-10-17 20:20:07 +0000 | [diff] [blame] | 79 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 80 | %tmp = sitofp i32 %a to double ; <double> [#uses=1] |
81 | ret double %tmp | ||||
Rafael Espindola | 278dbaa | 2006-10-17 20:20:07 +0000 | [diff] [blame] | 82 | } |
83 | |||||
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 84 | define float @f9(i32 %a) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 85 | ;CHECK-VFP: f9: |
86 | ;CHECK-VFP: fuitos | ||||
87 | ;CHECK: f9: | ||||
88 | ;CHECK: floatunsisf | ||||
Rafael Espindola | 278dbaa | 2006-10-17 20:20:07 +0000 | [diff] [blame] | 89 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 90 | %tmp = uitofp i32 %a to float ; <float> [#uses=1] |
Rafael Espindola | 278dbaa | 2006-10-17 20:20:07 +0000 | [diff] [blame] | 91 | ret float %tmp |
92 | } | ||||
93 | |||||
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 94 | define double @f10(i32 %a) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 95 | ;CHECK-VFP: f10: |
96 | ;CHECK-VFP: fuitod | ||||
97 | ;CHECK: f10: | ||||
98 | ;CHECK: floatunsidf | ||||
Rafael Espindola | 278dbaa | 2006-10-17 20:20:07 +0000 | [diff] [blame] | 99 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 100 | %tmp = uitofp i32 %a to double ; <double> [#uses=1] |
Rafael Espindola | 278dbaa | 2006-10-17 20:20:07 +0000 | [diff] [blame] | 101 | ret double %tmp |
102 | } |