Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 1 | ; RUN: llc < %s -march=arm -mattr=+vfp2 | FileCheck %s |
Evan Cheng | 02b985c | 2007-01-19 09:20:23 +0000 | [diff] [blame] | 2 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 3 | define float @f1(float %a, float %b) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 4 | ;CHECK: f1: |
| 5 | ;CHECK: fadds |
Rafael Espindola | ff7e63c | 2006-10-09 19:15:17 +0000 | [diff] [blame] | 6 | entry: |
Dan Gohman | ae3a0be | 2009-06-04 22:49:04 +0000 | [diff] [blame] | 7 | %tmp = fadd float %a, %b ; <float> [#uses=1] |
Rafael Espindola | ff7e63c | 2006-10-09 19:15:17 +0000 | [diff] [blame] | 8 | ret float %tmp |
| 9 | } |
| 10 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 11 | define double @f2(double %a, double %b) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 12 | ;CHECK: f2: |
| 13 | ;CHECK: faddd |
Rafael Espindola | ff7e63c | 2006-10-09 19:15:17 +0000 | [diff] [blame] | 14 | entry: |
Dan Gohman | ae3a0be | 2009-06-04 22:49:04 +0000 | [diff] [blame] | 15 | %tmp = fadd double %a, %b ; <double> [#uses=1] |
Rafael Espindola | ff7e63c | 2006-10-09 19:15:17 +0000 | [diff] [blame] | 16 | ret double %tmp |
| 17 | } |
| 18 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 19 | define float @f3(float %a, float %b) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 20 | ;CHECK: f3: |
| 21 | ;CHECK: fmuls |
Rafael Espindola | ff7e63c | 2006-10-09 19:15:17 +0000 | [diff] [blame] | 22 | entry: |
Dan Gohman | ae3a0be | 2009-06-04 22:49:04 +0000 | [diff] [blame] | 23 | %tmp = fmul float %a, %b ; <float> [#uses=1] |
Rafael Espindola | ff7e63c | 2006-10-09 19:15:17 +0000 | [diff] [blame] | 24 | ret float %tmp |
| 25 | } |
| 26 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 27 | define double @f4(double %a, double %b) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 28 | ;CHECK: f4: |
| 29 | ;CHECK: fmuld |
Rafael Espindola | ff7e63c | 2006-10-09 19:15:17 +0000 | [diff] [blame] | 30 | entry: |
Dan Gohman | ae3a0be | 2009-06-04 22:49:04 +0000 | [diff] [blame] | 31 | %tmp = fmul double %a, %b ; <double> [#uses=1] |
Rafael Espindola | ff7e63c | 2006-10-09 19:15:17 +0000 | [diff] [blame] | 32 | ret double %tmp |
| 33 | } |
Rafael Espindola | 667c349 | 2006-10-10 19:35:01 +0000 | [diff] [blame] | 34 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 35 | define float @f5(float %a, float %b) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 36 | ;CHECK: f5: |
| 37 | ;CHECK: fsubs |
Rafael Espindola | 667c349 | 2006-10-10 19:35:01 +0000 | [diff] [blame] | 38 | entry: |
Dan Gohman | ae3a0be | 2009-06-04 22:49:04 +0000 | [diff] [blame] | 39 | %tmp = fsub float %a, %b ; <float> [#uses=1] |
Rafael Espindola | 667c349 | 2006-10-10 19:35:01 +0000 | [diff] [blame] | 40 | ret float %tmp |
| 41 | } |
| 42 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 43 | define double @f6(double %a, double %b) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 44 | ;CHECK: f6: |
| 45 | ;CHECK: fsubd |
Rafael Espindola | 667c349 | 2006-10-10 19:35:01 +0000 | [diff] [blame] | 46 | entry: |
Dan Gohman | ae3a0be | 2009-06-04 22:49:04 +0000 | [diff] [blame] | 47 | %tmp = fsub double %a, %b ; <double> [#uses=1] |
Rafael Espindola | 667c349 | 2006-10-10 19:35:01 +0000 | [diff] [blame] | 48 | ret double %tmp |
| 49 | } |
Rafael Espindola | 33d06bc | 2006-10-13 17:37:35 +0000 | [diff] [blame] | 50 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 51 | define float @f7(float %a) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 52 | ;CHECK: f7: |
| 53 | ;CHECK: eor |
Rafael Espindola | 33d06bc | 2006-10-13 17:37:35 +0000 | [diff] [blame] | 54 | entry: |
Dan Gohman | ae3a0be | 2009-06-04 22:49:04 +0000 | [diff] [blame] | 55 | %tmp1 = fsub float -0.000000e+00, %a ; <float> [#uses=1] |
Rafael Espindola | 33d06bc | 2006-10-13 17:37:35 +0000 | [diff] [blame] | 56 | ret float %tmp1 |
| 57 | } |
| 58 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 59 | define double @f8(double %a) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 60 | ;CHECK: f8: |
| 61 | ;CHECK: fnegd |
Rafael Espindola | 33d06bc | 2006-10-13 17:37:35 +0000 | [diff] [blame] | 62 | entry: |
Dan Gohman | ae3a0be | 2009-06-04 22:49:04 +0000 | [diff] [blame] | 63 | %tmp1 = fsub double -0.000000e+00, %a ; <double> [#uses=1] |
Rafael Espindola | 33d06bc | 2006-10-13 17:37:35 +0000 | [diff] [blame] | 64 | ret double %tmp1 |
| 65 | } |
Rafael Espindola | a605be6 | 2006-10-16 21:50:04 +0000 | [diff] [blame] | 66 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 67 | define float @f9(float %a, float %b) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 68 | ;CHECK: f9: |
| 69 | ;CHECK: fdivs |
Rafael Espindola | a605be6 | 2006-10-16 21:50:04 +0000 | [diff] [blame] | 70 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 71 | %tmp1 = fdiv float %a, %b ; <float> [#uses=1] |
Rafael Espindola | a605be6 | 2006-10-16 21:50:04 +0000 | [diff] [blame] | 72 | ret float %tmp1 |
| 73 | } |
| 74 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 75 | define double @f10(double %a, double %b) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 76 | ;CHECK: f10: |
| 77 | ;CHECK: fdivd |
Rafael Espindola | a605be6 | 2006-10-16 21:50:04 +0000 | [diff] [blame] | 78 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 79 | %tmp1 = fdiv double %a, %b ; <double> [#uses=1] |
Rafael Espindola | a605be6 | 2006-10-16 21:50:04 +0000 | [diff] [blame] | 80 | ret double %tmp1 |
| 81 | } |
Rafael Espindola | c01c87c | 2006-10-17 20:33:13 +0000 | [diff] [blame] | 82 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 83 | define float @f11(float %a) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 84 | ;CHECK: f11: |
| 85 | ;CHECK: bic |
Rafael Espindola | c01c87c | 2006-10-17 20:33:13 +0000 | [diff] [blame] | 86 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 87 | %tmp1 = call float @fabsf( float %a ) ; <float> [#uses=1] |
Rafael Espindola | c01c87c | 2006-10-17 20:33:13 +0000 | [diff] [blame] | 88 | ret float %tmp1 |
| 89 | } |
| 90 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 91 | declare float @fabsf(float) |
Rafael Espindola | c01c87c | 2006-10-17 20:33:13 +0000 | [diff] [blame] | 92 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 93 | define double @f12(double %a) { |
Bob Wilson | e8e72be | 2009-10-09 17:20:46 +0000 | [diff] [blame^] | 94 | ;CHECK: f12: |
| 95 | ;CHECK: fabsd |
Rafael Espindola | c01c87c | 2006-10-17 20:33:13 +0000 | [diff] [blame] | 96 | entry: |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 97 | %tmp1 = call double @fabs( double %a ) ; <double> [#uses=1] |
Rafael Espindola | c01c87c | 2006-10-17 20:33:13 +0000 | [diff] [blame] | 98 | ret double %tmp1 |
| 99 | } |
| 100 | |
Tanya Lattner | 6263f94 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 101 | declare double @fabs(double) |