Dan Gohman | da594cf | 2009-09-09 00:09:15 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -march=arm -mattr=+vfp2 > %t |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 2 | ; RUN: grep fcvtsd %t |
3 | ; RUN: grep fcvtds %t | ||||
4 | ; RUN: grep ftosizs %t | ||||
5 | ; RUN: grep ftouizs %t | ||||
6 | ; RUN: grep ftosizd %t | ||||
7 | ; RUN: grep ftouizd %t | ||||
8 | ; RUN: grep fsitos %t | ||||
9 | ; RUN: grep fsitod %t | ||||
10 | ; RUN: grep fuitos %t | ||||
11 | ; RUN: grep fuitod %t | ||||
Dan Gohman | da594cf | 2009-09-09 00:09:15 +0000 | [diff] [blame] | 12 | ; RUN: llc < %s -march=arm > %t |
Evan Cheng | a874003 | 2008-04-01 01:50:16 +0000 | [diff] [blame] | 13 | ; RUN: grep truncdfsf2 %t |
14 | ; RUN: grep extendsfdf2 %t | ||||
15 | ; RUN: grep fixsfsi %t | ||||
16 | ; RUN: grep fixunssfsi %t | ||||
17 | ; RUN: grep fixdfsi %t | ||||
18 | ; RUN: grep fixunsdfsi %t | ||||
Evan Cheng | f99a775 | 2008-04-01 02:18:22 +0000 | [diff] [blame] | 19 | ; RUN: grep floatsisf %t |
Evan Cheng | a874003 | 2008-04-01 01:50:16 +0000 | [diff] [blame] | 20 | ; RUN: grep floatsidf %t |
Evan Cheng | f99a775 | 2008-04-01 02:18:22 +0000 | [diff] [blame] | 21 | ; RUN: grep floatunsisf %t |
22 | ; RUN: grep floatunsidf %t | ||||
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 23 | |
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 24 | define float @f1(double %x) { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 25 | entry: |
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 26 | %tmp1 = fptrunc double %x to float ; <float> [#uses=1] |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 27 | ret float %tmp1 |
28 | } | ||||
29 | |||||
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 30 | define double @f2(float %x) { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 31 | entry: |
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 32 | %tmp1 = fpext float %x to double ; <double> [#uses=1] |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 33 | ret double %tmp1 |
34 | } | ||||
35 | |||||
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 36 | define i32 @f3(float %x) { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 37 | entry: |
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 38 | %tmp = fptosi float %x to i32 ; <i32> [#uses=1] |
39 | ret i32 %tmp | ||||
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 40 | } |
41 | |||||
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 42 | define i32 @f4(float %x) { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 43 | entry: |
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 44 | %tmp = fptoui float %x to i32 ; <i32> [#uses=1] |
45 | ret i32 %tmp | ||||
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 46 | } |
47 | |||||
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 48 | define i32 @f5(double %x) { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 49 | entry: |
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 50 | %tmp = fptosi double %x to i32 ; <i32> [#uses=1] |
51 | ret i32 %tmp | ||||
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 52 | } |
53 | |||||
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 54 | define i32 @f6(double %x) { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 55 | entry: |
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 56 | %tmp = fptoui double %x to i32 ; <i32> [#uses=1] |
57 | ret i32 %tmp | ||||
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 58 | } |
59 | |||||
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 60 | define float @f7(i32 %a) { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 61 | entry: |
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 62 | %tmp = sitofp i32 %a to float ; <float> [#uses=1] |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 63 | ret float %tmp |
64 | } | ||||
65 | |||||
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 66 | define double @f8(i32 %a) { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 67 | entry: |
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 68 | %tmp = sitofp i32 %a to double ; <double> [#uses=1] |
69 | ret double %tmp | ||||
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 70 | } |
71 | |||||
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 72 | define float @f9(i32 %a) { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 73 | entry: |
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 74 | %tmp = uitofp i32 %a to float ; <float> [#uses=1] |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 75 | ret float %tmp |
76 | } | ||||
77 | |||||
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 78 | define double @f10(i32 %a) { |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 79 | entry: |
Tanya Lattner | 246a137 | 2008-02-17 20:02:20 +0000 | [diff] [blame] | 80 | %tmp = uitofp i32 %a to double ; <double> [#uses=1] |
Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame] | 81 | ret double %tmp |
82 | } |