Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Side by Side Diff: tests_lit/reader_tests/casts.ll

Issue 1387963002: Make sure that all globals are internal, except for "start" functions. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix new tests. Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests_lit/reader_tests/call.ll ('k') | tests_lit/reader_tests/compare.ll » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; Tests if we can read cast operations. 1 ; Tests if we can read cast operations.
2 2
3 ; RUN: %p2i -i %s --insts --no-local-syms | FileCheck %s 3 ; RUN: %p2i -i %s --insts --no-local-syms | FileCheck %s
4 ; RUN: %if --need=allow_disable_ir_gen --command \ 4 ; RUN: %if --need=allow_disable_ir_gen --command \
5 ; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \ 5 ; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
6 ; RUN: | %if --need=allow_disable_ir_gen --command \ 6 ; RUN: | %if --need=allow_disable_ir_gen --command \
7 ; RUN: FileCheck --check-prefix=NOIR %s 7 ; RUN: FileCheck --check-prefix=NOIR %s
8 8
9 ; TODO(kschimpf) Find way to test pointer conversions (since they in general 9 ; TODO(kschimpf) Find way to test pointer conversions (since they in general
10 ; get removed by pnacl-freeze). 10 ; get removed by pnacl-freeze).
11 11
12 define i32 @TruncI64(i64 %v) { 12 define internal i32 @TruncI64(i64 %v) {
13 %v1 = trunc i64 %v to i1 13 %v1 = trunc i64 %v to i1
14 %v8 = trunc i64 %v to i8 14 %v8 = trunc i64 %v to i8
15 %v16 = trunc i64 %v to i16 15 %v16 = trunc i64 %v to i16
16 %v32 = trunc i64 %v to i32 16 %v32 = trunc i64 %v to i32
17 ret i32 %v32 17 ret i32 %v32
18 } 18 }
19 19
20 ; CHECK: define i32 @TruncI64(i64 %__0) { 20 ; CHECK: define internal i32 @TruncI64(i64 %__0) {
21 ; CHECK-NEXT: __0: 21 ; CHECK-NEXT: __0:
22 ; CHECK-NEXT: %__1 = trunc i64 %__0 to i1 22 ; CHECK-NEXT: %__1 = trunc i64 %__0 to i1
23 ; CHECK-NEXT: %__2 = trunc i64 %__0 to i8 23 ; CHECK-NEXT: %__2 = trunc i64 %__0 to i8
24 ; CHECK-NEXT: %__3 = trunc i64 %__0 to i16 24 ; CHECK-NEXT: %__3 = trunc i64 %__0 to i16
25 ; CHECK-NEXT: %__4 = trunc i64 %__0 to i32 25 ; CHECK-NEXT: %__4 = trunc i64 %__0 to i32
26 ; CHECK-NEXT: ret i32 %__4 26 ; CHECK-NEXT: ret i32 %__4
27 ; CHECK-NEXT: } 27 ; CHECK-NEXT: }
28 28
29 define void @TruncI32(i32 %v) { 29 define internal void @TruncI32(i32 %v) {
30 %v1 = trunc i32 %v to i1 30 %v1 = trunc i32 %v to i1
31 %v8 = trunc i32 %v to i8 31 %v8 = trunc i32 %v to i8
32 %v16 = trunc i32 %v to i16 32 %v16 = trunc i32 %v to i16
33 ret void 33 ret void
34 } 34 }
35 35
36 ; CHECK-NEXT: define void @TruncI32(i32 %__0) { 36 ; CHECK-NEXT: define internal void @TruncI32(i32 %__0) {
37 ; CHECK-NEXT: __0: 37 ; CHECK-NEXT: __0:
38 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i1 38 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i1
39 ; CHECK-NEXT: %__2 = trunc i32 %__0 to i8 39 ; CHECK-NEXT: %__2 = trunc i32 %__0 to i8
40 ; CHECK-NEXT: %__3 = trunc i32 %__0 to i16 40 ; CHECK-NEXT: %__3 = trunc i32 %__0 to i16
41 ; CHECK-NEXT: ret void 41 ; CHECK-NEXT: ret void
42 ; CHECK-NEXT: } 42 ; CHECK-NEXT: }
43 43
44 define void @TruncI16(i32 %p) { 44 define internal void @TruncI16(i32 %p) {
45 %v = trunc i32 %p to i16 45 %v = trunc i32 %p to i16
46 %v1 = trunc i16 %v to i1 46 %v1 = trunc i16 %v to i1
47 %v8 = trunc i16 %v to i8 47 %v8 = trunc i16 %v to i8
48 ret void 48 ret void
49 } 49 }
50 50
51 ; CHECK-NEXT: define void @TruncI16(i32 %__0) { 51 ; CHECK-NEXT: define internal void @TruncI16(i32 %__0) {
52 ; CHECK-NEXT: __0: 52 ; CHECK-NEXT: __0:
53 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i16 53 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i16
54 ; CHECK-NEXT: %__2 = trunc i16 %__1 to i1 54 ; CHECK-NEXT: %__2 = trunc i16 %__1 to i1
55 ; CHECK-NEXT: %__3 = trunc i16 %__1 to i8 55 ; CHECK-NEXT: %__3 = trunc i16 %__1 to i8
56 ; CHECK-NEXT: ret void 56 ; CHECK-NEXT: ret void
57 ; CHECK-NEXT: } 57 ; CHECK-NEXT: }
58 58
59 define void @TruncI8(i32 %p) { 59 define internal void @TruncI8(i32 %p) {
60 %v = trunc i32 %p to i8 60 %v = trunc i32 %p to i8
61 %v1 = trunc i8 %v to i1 61 %v1 = trunc i8 %v to i1
62 ret void 62 ret void
63 } 63 }
64 64
65 ; CHECK-NEXT: define void @TruncI8(i32 %__0) { 65 ; CHECK-NEXT: define internal void @TruncI8(i32 %__0) {
66 ; CHECK-NEXT: __0: 66 ; CHECK-NEXT: __0:
67 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i8 67 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i8
68 ; CHECK-NEXT: %__2 = trunc i8 %__1 to i1 68 ; CHECK-NEXT: %__2 = trunc i8 %__1 to i1
69 ; CHECK-NEXT: ret void 69 ; CHECK-NEXT: ret void
70 ; CHECK-NEXT: } 70 ; CHECK-NEXT: }
71 71
72 define i64 @ZextI1(i32 %p) { 72 define internal i64 @ZextI1(i32 %p) {
73 %v = trunc i32 %p to i1 73 %v = trunc i32 %p to i1
74 %v8 = zext i1 %v to i8 74 %v8 = zext i1 %v to i8
75 %v16 = zext i1 %v to i16 75 %v16 = zext i1 %v to i16
76 %v32 = zext i1 %v to i32 76 %v32 = zext i1 %v to i32
77 %v64 = zext i1 %v to i64 77 %v64 = zext i1 %v to i64
78 ret i64 %v64 78 ret i64 %v64
79 } 79 }
80 80
81 ; CHECK-NEXT: define i64 @ZextI1(i32 %__0) { 81 ; CHECK-NEXT: define internal i64 @ZextI1(i32 %__0) {
82 ; CHECK-NEXT: __0: 82 ; CHECK-NEXT: __0:
83 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i1 83 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i1
84 ; CHECK-NEXT: %__2 = zext i1 %__1 to i8 84 ; CHECK-NEXT: %__2 = zext i1 %__1 to i8
85 ; CHECK-NEXT: %__3 = zext i1 %__1 to i16 85 ; CHECK-NEXT: %__3 = zext i1 %__1 to i16
86 ; CHECK-NEXT: %__4 = zext i1 %__1 to i32 86 ; CHECK-NEXT: %__4 = zext i1 %__1 to i32
87 ; CHECK-NEXT: %__5 = zext i1 %__1 to i64 87 ; CHECK-NEXT: %__5 = zext i1 %__1 to i64
88 ; CHECK-NEXT: ret i64 %__5 88 ; CHECK-NEXT: ret i64 %__5
89 ; CHECK-NEXT: } 89 ; CHECK-NEXT: }
90 90
91 define i32 @ZextI8(i32 %p) { 91 define internal i32 @ZextI8(i32 %p) {
92 %v = trunc i32 %p to i8 92 %v = trunc i32 %p to i8
93 %v16 = zext i8 %v to i16 93 %v16 = zext i8 %v to i16
94 %v32 = zext i8 %v to i32 94 %v32 = zext i8 %v to i32
95 %v64 = zext i8 %v to i64 95 %v64 = zext i8 %v to i64
96 ret i32 %v32 96 ret i32 %v32
97 } 97 }
98 98
99 ; CHECK-NEXT: define i32 @ZextI8(i32 %__0) { 99 ; CHECK-NEXT: define internal i32 @ZextI8(i32 %__0) {
100 ; CHECK-NEXT: __0: 100 ; CHECK-NEXT: __0:
101 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i8 101 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i8
102 ; CHECK-NEXT: %__2 = zext i8 %__1 to i16 102 ; CHECK-NEXT: %__2 = zext i8 %__1 to i16
103 ; CHECK-NEXT: %__3 = zext i8 %__1 to i32 103 ; CHECK-NEXT: %__3 = zext i8 %__1 to i32
104 ; CHECK-NEXT: %__4 = zext i8 %__1 to i64 104 ; CHECK-NEXT: %__4 = zext i8 %__1 to i64
105 ; CHECK-NEXT: ret i32 %__3 105 ; CHECK-NEXT: ret i32 %__3
106 ; CHECK-NEXT: } 106 ; CHECK-NEXT: }
107 107
108 define i64 @ZextI16(i32 %p) { 108 define internal i64 @ZextI16(i32 %p) {
109 %v = trunc i32 %p to i16 109 %v = trunc i32 %p to i16
110 %v32 = zext i16 %v to i32 110 %v32 = zext i16 %v to i32
111 %v64 = zext i16 %v to i64 111 %v64 = zext i16 %v to i64
112 ret i64 %v64 112 ret i64 %v64
113 } 113 }
114 114
115 ; CHECK-NEXT: define i64 @ZextI16(i32 %__0) { 115 ; CHECK-NEXT: define internal i64 @ZextI16(i32 %__0) {
116 ; CHECK-NEXT: __0: 116 ; CHECK-NEXT: __0:
117 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i16 117 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i16
118 ; CHECK-NEXT: %__2 = zext i16 %__1 to i32 118 ; CHECK-NEXT: %__2 = zext i16 %__1 to i32
119 ; CHECK-NEXT: %__3 = zext i16 %__1 to i64 119 ; CHECK-NEXT: %__3 = zext i16 %__1 to i64
120 ; CHECK-NEXT: ret i64 %__3 120 ; CHECK-NEXT: ret i64 %__3
121 ; CHECK-NEXT: } 121 ; CHECK-NEXT: }
122 122
123 define i64 @Zexti32(i32 %v) { 123 define internal i64 @Zexti32(i32 %v) {
124 %v64 = zext i32 %v to i64 124 %v64 = zext i32 %v to i64
125 ret i64 %v64 125 ret i64 %v64
126 } 126 }
127 127
128 ; CHECK-NEXT: define i64 @Zexti32(i32 %__0) { 128 ; CHECK-NEXT: define internal i64 @Zexti32(i32 %__0) {
129 ; CHECK-NEXT: __0: 129 ; CHECK-NEXT: __0:
130 ; CHECK-NEXT: %__1 = zext i32 %__0 to i64 130 ; CHECK-NEXT: %__1 = zext i32 %__0 to i64
131 ; CHECK-NEXT: ret i64 %__1 131 ; CHECK-NEXT: ret i64 %__1
132 ; CHECK-NEXT: } 132 ; CHECK-NEXT: }
133 133
134 define i32 @SextI1(i32 %p) { 134 define internal i32 @SextI1(i32 %p) {
135 %v = trunc i32 %p to i1 135 %v = trunc i32 %p to i1
136 %v8 = sext i1 %v to i8 136 %v8 = sext i1 %v to i8
137 %v16 = sext i1 %v to i16 137 %v16 = sext i1 %v to i16
138 %v32 = sext i1 %v to i32 138 %v32 = sext i1 %v to i32
139 %v64 = sext i1 %v to i64 139 %v64 = sext i1 %v to i64
140 ret i32 %v32 140 ret i32 %v32
141 } 141 }
142 142
143 ; CHECK-NEXT: define i32 @SextI1(i32 %__0) { 143 ; CHECK-NEXT: define internal i32 @SextI1(i32 %__0) {
144 ; CHECK-NEXT: __0: 144 ; CHECK-NEXT: __0:
145 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i1 145 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i1
146 ; CHECK-NEXT: %__2 = sext i1 %__1 to i8 146 ; CHECK-NEXT: %__2 = sext i1 %__1 to i8
147 ; CHECK-NEXT: %__3 = sext i1 %__1 to i16 147 ; CHECK-NEXT: %__3 = sext i1 %__1 to i16
148 ; CHECK-NEXT: %__4 = sext i1 %__1 to i32 148 ; CHECK-NEXT: %__4 = sext i1 %__1 to i32
149 ; CHECK-NEXT: %__5 = sext i1 %__1 to i64 149 ; CHECK-NEXT: %__5 = sext i1 %__1 to i64
150 ; CHECK-NEXT: ret i32 %__4 150 ; CHECK-NEXT: ret i32 %__4
151 ; CHECK-NEXT: } 151 ; CHECK-NEXT: }
152 152
153 define i64 @SextI8(i32 %p) { 153 define internal i64 @SextI8(i32 %p) {
154 %v = trunc i32 %p to i8 154 %v = trunc i32 %p to i8
155 %v16 = sext i8 %v to i16 155 %v16 = sext i8 %v to i16
156 %v32 = sext i8 %v to i32 156 %v32 = sext i8 %v to i32
157 %v64 = sext i8 %v to i64 157 %v64 = sext i8 %v to i64
158 ret i64 %v64 158 ret i64 %v64
159 } 159 }
160 160
161 ; CHECK-NEXT: define i64 @SextI8(i32 %__0) { 161 ; CHECK-NEXT: define internal i64 @SextI8(i32 %__0) {
162 ; CHECK-NEXT: __0: 162 ; CHECK-NEXT: __0:
163 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i8 163 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i8
164 ; CHECK-NEXT: %__2 = sext i8 %__1 to i16 164 ; CHECK-NEXT: %__2 = sext i8 %__1 to i16
165 ; CHECK-NEXT: %__3 = sext i8 %__1 to i32 165 ; CHECK-NEXT: %__3 = sext i8 %__1 to i32
166 ; CHECK-NEXT: %__4 = sext i8 %__1 to i64 166 ; CHECK-NEXT: %__4 = sext i8 %__1 to i64
167 ; CHECK-NEXT: ret i64 %__4 167 ; CHECK-NEXT: ret i64 %__4
168 ; CHECK-NEXT: } 168 ; CHECK-NEXT: }
169 169
170 define i32 @SextI16(i32 %p) { 170 define internal i32 @SextI16(i32 %p) {
171 %v = trunc i32 %p to i16 171 %v = trunc i32 %p to i16
172 %v32 = sext i16 %v to i32 172 %v32 = sext i16 %v to i32
173 %v64 = sext i16 %v to i64 173 %v64 = sext i16 %v to i64
174 ret i32 %v32 174 ret i32 %v32
175 } 175 }
176 176
177 ; CHECK-NEXT: define i32 @SextI16(i32 %__0) { 177 ; CHECK-NEXT: define internal i32 @SextI16(i32 %__0) {
178 ; CHECK-NEXT: __0: 178 ; CHECK-NEXT: __0:
179 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i16 179 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i16
180 ; CHECK-NEXT: %__2 = sext i16 %__1 to i32 180 ; CHECK-NEXT: %__2 = sext i16 %__1 to i32
181 ; CHECK-NEXT: %__3 = sext i16 %__1 to i64 181 ; CHECK-NEXT: %__3 = sext i16 %__1 to i64
182 ; CHECK-NEXT: ret i32 %__2 182 ; CHECK-NEXT: ret i32 %__2
183 ; CHECK-NEXT: } 183 ; CHECK-NEXT: }
184 184
185 define i64 @Sexti32(i32 %v) { 185 define internal i64 @Sexti32(i32 %v) {
186 %v64 = sext i32 %v to i64 186 %v64 = sext i32 %v to i64
187 ret i64 %v64 187 ret i64 %v64
188 } 188 }
189 189
190 ; CHECK-NEXT: define i64 @Sexti32(i32 %__0) { 190 ; CHECK-NEXT: define internal i64 @Sexti32(i32 %__0) {
191 ; CHECK-NEXT: __0: 191 ; CHECK-NEXT: __0:
192 ; CHECK-NEXT: %__1 = sext i32 %__0 to i64 192 ; CHECK-NEXT: %__1 = sext i32 %__0 to i64
193 ; CHECK-NEXT: ret i64 %__1 193 ; CHECK-NEXT: ret i64 %__1
194 ; CHECK-NEXT: } 194 ; CHECK-NEXT: }
195 195
196 define float @Fptrunc(double %v) { 196 define internal float @Fptrunc(double %v) {
197 %vfloat = fptrunc double %v to float 197 %vfloat = fptrunc double %v to float
198 ret float %vfloat 198 ret float %vfloat
199 } 199 }
200 200
201 ; CHECK-NEXT: define float @Fptrunc(double %__0) { 201 ; CHECK-NEXT: define internal float @Fptrunc(double %__0) {
202 ; CHECK-NEXT: __0: 202 ; CHECK-NEXT: __0:
203 ; CHECK-NEXT: %__1 = fptrunc double %__0 to float 203 ; CHECK-NEXT: %__1 = fptrunc double %__0 to float
204 ; CHECK-NEXT: ret float %__1 204 ; CHECK-NEXT: ret float %__1
205 ; CHECK-NEXT: } 205 ; CHECK-NEXT: }
206 206
207 define double @Fpext(float %v) { 207 define internal double @Fpext(float %v) {
208 %vdouble = fpext float %v to double 208 %vdouble = fpext float %v to double
209 ret double %vdouble 209 ret double %vdouble
210 } 210 }
211 211
212 ; CHECK-NEXT: define double @Fpext(float %__0) { 212 ; CHECK-NEXT: define internal double @Fpext(float %__0) {
213 ; CHECK-NEXT: __0: 213 ; CHECK-NEXT: __0:
214 ; CHECK-NEXT: %__1 = fpext float %__0 to double 214 ; CHECK-NEXT: %__1 = fpext float %__0 to double
215 ; CHECK-NEXT: ret double %__1 215 ; CHECK-NEXT: ret double %__1
216 ; CHECK-NEXT: } 216 ; CHECK-NEXT: }
217 217
218 define i32 @FptouiFloat(float %v) { 218 define internal i32 @FptouiFloat(float %v) {
219 %v1 = fptoui float %v to i1 219 %v1 = fptoui float %v to i1
220 %v8 = fptoui float %v to i8 220 %v8 = fptoui float %v to i8
221 %v16 = fptoui float %v to i16 221 %v16 = fptoui float %v to i16
222 %v32 = fptoui float %v to i32 222 %v32 = fptoui float %v to i32
223 %v64 = fptoui float %v to i64 223 %v64 = fptoui float %v to i64
224 ret i32 %v32 224 ret i32 %v32
225 } 225 }
226 226
227 ; CHECK-NEXT: define i32 @FptouiFloat(float %__0) { 227 ; CHECK-NEXT: define internal i32 @FptouiFloat(float %__0) {
228 ; CHECK-NEXT: __0: 228 ; CHECK-NEXT: __0:
229 ; CHECK-NEXT: %__1 = fptoui float %__0 to i1 229 ; CHECK-NEXT: %__1 = fptoui float %__0 to i1
230 ; CHECK-NEXT: %__2 = fptoui float %__0 to i8 230 ; CHECK-NEXT: %__2 = fptoui float %__0 to i8
231 ; CHECK-NEXT: %__3 = fptoui float %__0 to i16 231 ; CHECK-NEXT: %__3 = fptoui float %__0 to i16
232 ; CHECK-NEXT: %__4 = fptoui float %__0 to i32 232 ; CHECK-NEXT: %__4 = fptoui float %__0 to i32
233 ; CHECK-NEXT: %__5 = fptoui float %__0 to i64 233 ; CHECK-NEXT: %__5 = fptoui float %__0 to i64
234 ; CHECK-NEXT: ret i32 %__4 234 ; CHECK-NEXT: ret i32 %__4
235 ; CHECK-NEXT: } 235 ; CHECK-NEXT: }
236 236
237 define i32 @FptouiDouble(double %v) { 237 define internal i32 @FptouiDouble(double %v) {
238 %v1 = fptoui double %v to i1 238 %v1 = fptoui double %v to i1
239 %v8 = fptoui double %v to i8 239 %v8 = fptoui double %v to i8
240 %v16 = fptoui double %v to i16 240 %v16 = fptoui double %v to i16
241 %v32 = fptoui double %v to i32 241 %v32 = fptoui double %v to i32
242 %v64 = fptoui double %v to i64 242 %v64 = fptoui double %v to i64
243 ret i32 %v32 243 ret i32 %v32
244 } 244 }
245 245
246 ; CHECK-NEXT: define i32 @FptouiDouble(double %__0) { 246 ; CHECK-NEXT: define internal i32 @FptouiDouble(double %__0) {
247 ; CHECK-NEXT: __0: 247 ; CHECK-NEXT: __0:
248 ; CHECK-NEXT: %__1 = fptoui double %__0 to i1 248 ; CHECK-NEXT: %__1 = fptoui double %__0 to i1
249 ; CHECK-NEXT: %__2 = fptoui double %__0 to i8 249 ; CHECK-NEXT: %__2 = fptoui double %__0 to i8
250 ; CHECK-NEXT: %__3 = fptoui double %__0 to i16 250 ; CHECK-NEXT: %__3 = fptoui double %__0 to i16
251 ; CHECK-NEXT: %__4 = fptoui double %__0 to i32 251 ; CHECK-NEXT: %__4 = fptoui double %__0 to i32
252 ; CHECK-NEXT: %__5 = fptoui double %__0 to i64 252 ; CHECK-NEXT: %__5 = fptoui double %__0 to i64
253 ; CHECK-NEXT: ret i32 %__4 253 ; CHECK-NEXT: ret i32 %__4
254 ; CHECK-NEXT: } 254 ; CHECK-NEXT: }
255 255
256 define i32 @FptosiFloat(float %v) { 256 define internal i32 @FptosiFloat(float %v) {
257 %v1 = fptosi float %v to i1 257 %v1 = fptosi float %v to i1
258 %v8 = fptosi float %v to i8 258 %v8 = fptosi float %v to i8
259 %v16 = fptosi float %v to i16 259 %v16 = fptosi float %v to i16
260 %v32 = fptosi float %v to i32 260 %v32 = fptosi float %v to i32
261 %v64 = fptosi float %v to i64 261 %v64 = fptosi float %v to i64
262 ret i32 %v32 262 ret i32 %v32
263 } 263 }
264 264
265 ; CHECK-NEXT: define i32 @FptosiFloat(float %__0) { 265 ; CHECK-NEXT: define internal i32 @FptosiFloat(float %__0) {
266 ; CHECK-NEXT: __0: 266 ; CHECK-NEXT: __0:
267 ; CHECK-NEXT: %__1 = fptosi float %__0 to i1 267 ; CHECK-NEXT: %__1 = fptosi float %__0 to i1
268 ; CHECK-NEXT: %__2 = fptosi float %__0 to i8 268 ; CHECK-NEXT: %__2 = fptosi float %__0 to i8
269 ; CHECK-NEXT: %__3 = fptosi float %__0 to i16 269 ; CHECK-NEXT: %__3 = fptosi float %__0 to i16
270 ; CHECK-NEXT: %__4 = fptosi float %__0 to i32 270 ; CHECK-NEXT: %__4 = fptosi float %__0 to i32
271 ; CHECK-NEXT: %__5 = fptosi float %__0 to i64 271 ; CHECK-NEXT: %__5 = fptosi float %__0 to i64
272 ; CHECK-NEXT: ret i32 %__4 272 ; CHECK-NEXT: ret i32 %__4
273 ; CHECK-NEXT: } 273 ; CHECK-NEXT: }
274 274
275 define i32 @FptosiDouble(double %v) { 275 define internal i32 @FptosiDouble(double %v) {
276 %v1 = fptosi double %v to i1 276 %v1 = fptosi double %v to i1
277 %v8 = fptosi double %v to i8 277 %v8 = fptosi double %v to i8
278 %v16 = fptosi double %v to i16 278 %v16 = fptosi double %v to i16
279 %v32 = fptosi double %v to i32 279 %v32 = fptosi double %v to i32
280 %v64 = fptosi double %v to i64 280 %v64 = fptosi double %v to i64
281 ret i32 %v32 281 ret i32 %v32
282 } 282 }
283 283
284 ; CHECK-NEXT: define i32 @FptosiDouble(double %__0) { 284 ; CHECK-NEXT: define internal i32 @FptosiDouble(double %__0) {
285 ; CHECK-NEXT: __0: 285 ; CHECK-NEXT: __0:
286 ; CHECK-NEXT: %__1 = fptosi double %__0 to i1 286 ; CHECK-NEXT: %__1 = fptosi double %__0 to i1
287 ; CHECK-NEXT: %__2 = fptosi double %__0 to i8 287 ; CHECK-NEXT: %__2 = fptosi double %__0 to i8
288 ; CHECK-NEXT: %__3 = fptosi double %__0 to i16 288 ; CHECK-NEXT: %__3 = fptosi double %__0 to i16
289 ; CHECK-NEXT: %__4 = fptosi double %__0 to i32 289 ; CHECK-NEXT: %__4 = fptosi double %__0 to i32
290 ; CHECK-NEXT: %__5 = fptosi double %__0 to i64 290 ; CHECK-NEXT: %__5 = fptosi double %__0 to i64
291 ; CHECK-NEXT: ret i32 %__4 291 ; CHECK-NEXT: ret i32 %__4
292 ; CHECK-NEXT: } 292 ; CHECK-NEXT: }
293 293
294 define float @UitofpI1(i32 %p) { 294 define internal float @UitofpI1(i32 %p) {
295 %v = trunc i32 %p to i1 295 %v = trunc i32 %p to i1
296 %vfloat = uitofp i1 %v to float 296 %vfloat = uitofp i1 %v to float
297 %vdouble = uitofp i1 %v to double 297 %vdouble = uitofp i1 %v to double
298 ret float %vfloat 298 ret float %vfloat
299 } 299 }
300 300
301 ; CHECK-NEXT: define float @UitofpI1(i32 %__0) { 301 ; CHECK-NEXT: define internal float @UitofpI1(i32 %__0) {
302 ; CHECK-NEXT: __0: 302 ; CHECK-NEXT: __0:
303 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i1 303 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i1
304 ; CHECK-NEXT: %__2 = uitofp i1 %__1 to float 304 ; CHECK-NEXT: %__2 = uitofp i1 %__1 to float
305 ; CHECK-NEXT: %__3 = uitofp i1 %__1 to double 305 ; CHECK-NEXT: %__3 = uitofp i1 %__1 to double
306 ; CHECK-NEXT: ret float %__2 306 ; CHECK-NEXT: ret float %__2
307 ; CHECK-NEXT: } 307 ; CHECK-NEXT: }
308 308
309 define float @UitofpI8(i32 %p) { 309 define internal float @UitofpI8(i32 %p) {
310 %v = trunc i32 %p to i8 310 %v = trunc i32 %p to i8
311 %vfloat = uitofp i8 %v to float 311 %vfloat = uitofp i8 %v to float
312 %vdouble = uitofp i8 %v to double 312 %vdouble = uitofp i8 %v to double
313 ret float %vfloat 313 ret float %vfloat
314 } 314 }
315 315
316 ; CHECK-NEXT: define float @UitofpI8(i32 %__0) { 316 ; CHECK-NEXT: define internal float @UitofpI8(i32 %__0) {
317 ; CHECK-NEXT: __0: 317 ; CHECK-NEXT: __0:
318 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i8 318 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i8
319 ; CHECK-NEXT: %__2 = uitofp i8 %__1 to float 319 ; CHECK-NEXT: %__2 = uitofp i8 %__1 to float
320 ; CHECK-NEXT: %__3 = uitofp i8 %__1 to double 320 ; CHECK-NEXT: %__3 = uitofp i8 %__1 to double
321 ; CHECK-NEXT: ret float %__2 321 ; CHECK-NEXT: ret float %__2
322 ; CHECK-NEXT: } 322 ; CHECK-NEXT: }
323 323
324 define float @UitofpI16(i32 %p) { 324 define internal float @UitofpI16(i32 %p) {
325 %v = trunc i32 %p to i16 325 %v = trunc i32 %p to i16
326 %vfloat = uitofp i16 %v to float 326 %vfloat = uitofp i16 %v to float
327 %vdouble = uitofp i16 %v to double 327 %vdouble = uitofp i16 %v to double
328 ret float %vfloat 328 ret float %vfloat
329 } 329 }
330 330
331 ; CHECK-NEXT: define float @UitofpI16(i32 %__0) { 331 ; CHECK-NEXT: define internal float @UitofpI16(i32 %__0) {
332 ; CHECK-NEXT: __0: 332 ; CHECK-NEXT: __0:
333 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i16 333 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i16
334 ; CHECK-NEXT: %__2 = uitofp i16 %__1 to float 334 ; CHECK-NEXT: %__2 = uitofp i16 %__1 to float
335 ; CHECK-NEXT: %__3 = uitofp i16 %__1 to double 335 ; CHECK-NEXT: %__3 = uitofp i16 %__1 to double
336 ; CHECK-NEXT: ret float %__2 336 ; CHECK-NEXT: ret float %__2
337 ; CHECK-NEXT: } 337 ; CHECK-NEXT: }
338 338
339 define float @UitofpI32(i32 %v) { 339 define internal float @UitofpI32(i32 %v) {
340 %vfloat = uitofp i32 %v to float 340 %vfloat = uitofp i32 %v to float
341 %vdouble = uitofp i32 %v to double 341 %vdouble = uitofp i32 %v to double
342 ret float %vfloat 342 ret float %vfloat
343 } 343 }
344 344
345 ; CHECK-NEXT: define float @UitofpI32(i32 %__0) { 345 ; CHECK-NEXT: define internal float @UitofpI32(i32 %__0) {
346 ; CHECK-NEXT: __0: 346 ; CHECK-NEXT: __0:
347 ; CHECK-NEXT: %__1 = uitofp i32 %__0 to float 347 ; CHECK-NEXT: %__1 = uitofp i32 %__0 to float
348 ; CHECK-NEXT: %__2 = uitofp i32 %__0 to double 348 ; CHECK-NEXT: %__2 = uitofp i32 %__0 to double
349 ; CHECK-NEXT: ret float %__1 349 ; CHECK-NEXT: ret float %__1
350 ; CHECK-NEXT: } 350 ; CHECK-NEXT: }
351 351
352 define float @UitofpI64(i64 %v) { 352 define internal float @UitofpI64(i64 %v) {
353 %vfloat = uitofp i64 %v to float 353 %vfloat = uitofp i64 %v to float
354 %vdouble = uitofp i64 %v to double 354 %vdouble = uitofp i64 %v to double
355 ret float %vfloat 355 ret float %vfloat
356 } 356 }
357 357
358 ; CHECK-NEXT: define float @UitofpI64(i64 %__0) { 358 ; CHECK-NEXT: define internal float @UitofpI64(i64 %__0) {
359 ; CHECK-NEXT: __0: 359 ; CHECK-NEXT: __0:
360 ; CHECK-NEXT: %__1 = uitofp i64 %__0 to float 360 ; CHECK-NEXT: %__1 = uitofp i64 %__0 to float
361 ; CHECK-NEXT: %__2 = uitofp i64 %__0 to double 361 ; CHECK-NEXT: %__2 = uitofp i64 %__0 to double
362 ; CHECK-NEXT: ret float %__1 362 ; CHECK-NEXT: ret float %__1
363 ; CHECK-NEXT: } 363 ; CHECK-NEXT: }
364 364
365 define float @SitofpI1(i32 %p) { 365 define internal float @SitofpI1(i32 %p) {
366 %v = trunc i32 %p to i1 366 %v = trunc i32 %p to i1
367 %vfloat = sitofp i1 %v to float 367 %vfloat = sitofp i1 %v to float
368 %vdouble = sitofp i1 %v to double 368 %vdouble = sitofp i1 %v to double
369 ret float %vfloat 369 ret float %vfloat
370 } 370 }
371 371
372 ; CHECK-NEXT: define float @SitofpI1(i32 %__0) { 372 ; CHECK-NEXT: define internal float @SitofpI1(i32 %__0) {
373 ; CHECK-NEXT: __0: 373 ; CHECK-NEXT: __0:
374 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i1 374 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i1
375 ; CHECK-NEXT: %__2 = sitofp i1 %__1 to float 375 ; CHECK-NEXT: %__2 = sitofp i1 %__1 to float
376 ; CHECK-NEXT: %__3 = sitofp i1 %__1 to double 376 ; CHECK-NEXT: %__3 = sitofp i1 %__1 to double
377 ; CHECK-NEXT: ret float %__2 377 ; CHECK-NEXT: ret float %__2
378 ; CHECK-NEXT: } 378 ; CHECK-NEXT: }
379 379
380 define float @SitofpI8(i32 %p) { 380 define internal float @SitofpI8(i32 %p) {
381 %v = trunc i32 %p to i8 381 %v = trunc i32 %p to i8
382 %vfloat = sitofp i8 %v to float 382 %vfloat = sitofp i8 %v to float
383 %vdouble = sitofp i8 %v to double 383 %vdouble = sitofp i8 %v to double
384 ret float %vfloat 384 ret float %vfloat
385 } 385 }
386 386
387 ; CHECK-NEXT: define float @SitofpI8(i32 %__0) { 387 ; CHECK-NEXT: define internal float @SitofpI8(i32 %__0) {
388 ; CHECK-NEXT: __0: 388 ; CHECK-NEXT: __0:
389 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i8 389 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i8
390 ; CHECK-NEXT: %__2 = sitofp i8 %__1 to float 390 ; CHECK-NEXT: %__2 = sitofp i8 %__1 to float
391 ; CHECK-NEXT: %__3 = sitofp i8 %__1 to double 391 ; CHECK-NEXT: %__3 = sitofp i8 %__1 to double
392 ; CHECK-NEXT: ret float %__2 392 ; CHECK-NEXT: ret float %__2
393 ; CHECK-NEXT: } 393 ; CHECK-NEXT: }
394 394
395 define float @SitofpI16(i32 %p) { 395 define internal float @SitofpI16(i32 %p) {
396 %v = trunc i32 %p to i16 396 %v = trunc i32 %p to i16
397 %vfloat = sitofp i16 %v to float 397 %vfloat = sitofp i16 %v to float
398 %vdouble = sitofp i16 %v to double 398 %vdouble = sitofp i16 %v to double
399 ret float %vfloat 399 ret float %vfloat
400 } 400 }
401 401
402 ; CHECK-NEXT: define float @SitofpI16(i32 %__0) { 402 ; CHECK-NEXT: define internal float @SitofpI16(i32 %__0) {
403 ; CHECK-NEXT: __0: 403 ; CHECK-NEXT: __0:
404 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i16 404 ; CHECK-NEXT: %__1 = trunc i32 %__0 to i16
405 ; CHECK-NEXT: %__2 = sitofp i16 %__1 to float 405 ; CHECK-NEXT: %__2 = sitofp i16 %__1 to float
406 ; CHECK-NEXT: %__3 = sitofp i16 %__1 to double 406 ; CHECK-NEXT: %__3 = sitofp i16 %__1 to double
407 ; CHECK-NEXT: ret float %__2 407 ; CHECK-NEXT: ret float %__2
408 ; CHECK-NEXT: } 408 ; CHECK-NEXT: }
409 409
410 define float @SitofpI32(i32 %v) { 410 define internal float @SitofpI32(i32 %v) {
411 %vfloat = sitofp i32 %v to float 411 %vfloat = sitofp i32 %v to float
412 %vdouble = sitofp i32 %v to double 412 %vdouble = sitofp i32 %v to double
413 ret float %vfloat 413 ret float %vfloat
414 } 414 }
415 415
416 ; CHECK-NEXT: define float @SitofpI32(i32 %__0) { 416 ; CHECK-NEXT: define internal float @SitofpI32(i32 %__0) {
417 ; CHECK-NEXT: __0: 417 ; CHECK-NEXT: __0:
418 ; CHECK-NEXT: %__1 = sitofp i32 %__0 to float 418 ; CHECK-NEXT: %__1 = sitofp i32 %__0 to float
419 ; CHECK-NEXT: %__2 = sitofp i32 %__0 to double 419 ; CHECK-NEXT: %__2 = sitofp i32 %__0 to double
420 ; CHECK-NEXT: ret float %__1 420 ; CHECK-NEXT: ret float %__1
421 ; CHECK-NEXT: } 421 ; CHECK-NEXT: }
422 422
423 define float @SitofpI64(i64 %v) { 423 define internal float @SitofpI64(i64 %v) {
424 %vfloat = sitofp i64 %v to float 424 %vfloat = sitofp i64 %v to float
425 %vdouble = sitofp i64 %v to double 425 %vdouble = sitofp i64 %v to double
426 ret float %vfloat 426 ret float %vfloat
427 } 427 }
428 428
429 ; CHECK-NEXT: define float @SitofpI64(i64 %__0) { 429 ; CHECK-NEXT: define internal float @SitofpI64(i64 %__0) {
430 ; CHECK-NEXT: __0: 430 ; CHECK-NEXT: __0:
431 ; CHECK-NEXT: %__1 = sitofp i64 %__0 to float 431 ; CHECK-NEXT: %__1 = sitofp i64 %__0 to float
432 ; CHECK-NEXT: %__2 = sitofp i64 %__0 to double 432 ; CHECK-NEXT: %__2 = sitofp i64 %__0 to double
433 ; CHECK-NEXT: ret float %__1 433 ; CHECK-NEXT: ret float %__1
434 ; CHECK-NEXT: } 434 ; CHECK-NEXT: }
435 435
436 define float @BitcastI32(i32 %v) { 436 define internal float @BitcastI32(i32 %v) {
437 %vfloat = bitcast i32 %v to float 437 %vfloat = bitcast i32 %v to float
438 ret float %vfloat 438 ret float %vfloat
439 } 439 }
440 440
441 ; CHECK-NEXT: define float @BitcastI32(i32 %__0) { 441 ; CHECK-NEXT: define internal float @BitcastI32(i32 %__0) {
442 ; CHECK-NEXT: __0: 442 ; CHECK-NEXT: __0:
443 ; CHECK-NEXT: %__1 = bitcast i32 %__0 to float 443 ; CHECK-NEXT: %__1 = bitcast i32 %__0 to float
444 ; CHECK-NEXT: ret float %__1 444 ; CHECK-NEXT: ret float %__1
445 ; CHECK-NEXT: } 445 ; CHECK-NEXT: }
446 446
447 define double @BitcastI64(i64 %v) { 447 define internal double @BitcastI64(i64 %v) {
448 %vdouble = bitcast i64 %v to double 448 %vdouble = bitcast i64 %v to double
449 ret double %vdouble 449 ret double %vdouble
450 } 450 }
451 451
452 ; CHECK-NEXT: define double @BitcastI64(i64 %__0) { 452 ; CHECK-NEXT: define internal double @BitcastI64(i64 %__0) {
453 ; CHECK-NEXT: __0: 453 ; CHECK-NEXT: __0:
454 ; CHECK-NEXT: %__1 = bitcast i64 %__0 to double 454 ; CHECK-NEXT: %__1 = bitcast i64 %__0 to double
455 ; CHECK-NEXT: ret double %__1 455 ; CHECK-NEXT: ret double %__1
456 ; CHECK-NEXT: } 456 ; CHECK-NEXT: }
457 457
458 define i32 @BitcastFloat(float %v) { 458 define internal i32 @BitcastFloat(float %v) {
459 %vi32 = bitcast float %v to i32 459 %vi32 = bitcast float %v to i32
460 ret i32 %vi32 460 ret i32 %vi32
461 } 461 }
462 462
463 ; CHECK-NEXT: define i32 @BitcastFloat(float %__0) { 463 ; CHECK-NEXT: define internal i32 @BitcastFloat(float %__0) {
464 ; CHECK-NEXT: __0: 464 ; CHECK-NEXT: __0:
465 ; CHECK-NEXT: %__1 = bitcast float %__0 to i32 465 ; CHECK-NEXT: %__1 = bitcast float %__0 to i32
466 ; CHECK-NEXT: ret i32 %__1 466 ; CHECK-NEXT: ret i32 %__1
467 ; CHECK-NEXT: } 467 ; CHECK-NEXT: }
468 468
469 define i64 @BitcastDouble(double %v) { 469 define internal i64 @BitcastDouble(double %v) {
470 %vi64 = bitcast double %v to i64 470 %vi64 = bitcast double %v to i64
471 ret i64 %vi64 471 ret i64 %vi64
472 } 472 }
473 473
474 ; CHECK-NEXT: define i64 @BitcastDouble(double %__0) { 474 ; CHECK-NEXT: define internal i64 @BitcastDouble(double %__0) {
475 ; CHECK-NEXT: __0: 475 ; CHECK-NEXT: __0:
476 ; CHECK-NEXT: %__1 = bitcast double %__0 to i64 476 ; CHECK-NEXT: %__1 = bitcast double %__0 to i64
477 ; CHECK-NEXT: ret i64 %__1 477 ; CHECK-NEXT: ret i64 %__1
478 ; CHECK-NEXT: } 478 ; CHECK-NEXT: }
479 479
480 define void @BitcastV4xFloat(<4 x float> %v) { 480 define internal void @BitcastV4xFloat(<4 x float> %v) {
481 %v4xi32 = bitcast <4 x float> %v to <4 x i32> 481 %v4xi32 = bitcast <4 x float> %v to <4 x i32>
482 %v8xi16 = bitcast <4 x float> %v to <8 x i16> 482 %v8xi16 = bitcast <4 x float> %v to <8 x i16>
483 %v16xi8 = bitcast <4 x float> %v to <16 x i8> 483 %v16xi8 = bitcast <4 x float> %v to <16 x i8>
484 ret void 484 ret void
485 } 485 }
486 486
487 ; CHECK-NEXT: define void @BitcastV4xFloat(<4 x float> %__0) { 487 ; CHECK-NEXT: define internal void @BitcastV4xFloat(<4 x float> %__0) {
488 ; CHECK-NEXT: __0: 488 ; CHECK-NEXT: __0:
489 ; CHECK-NEXT: %__1 = bitcast <4 x float> %__0 to <4 x i32> 489 ; CHECK-NEXT: %__1 = bitcast <4 x float> %__0 to <4 x i32>
490 ; CHECK-NEXT: %__2 = bitcast <4 x float> %__0 to <8 x i16> 490 ; CHECK-NEXT: %__2 = bitcast <4 x float> %__0 to <8 x i16>
491 ; CHECK-NEXT: %__3 = bitcast <4 x float> %__0 to <16 x i8> 491 ; CHECK-NEXT: %__3 = bitcast <4 x float> %__0 to <16 x i8>
492 ; CHECK-NEXT: ret void 492 ; CHECK-NEXT: ret void
493 ; CHECK-NEXT: } 493 ; CHECK-NEXT: }
494 494
495 define void @BitcastV4xi32(<4 x i32> %v) { 495 define internal void @BitcastV4xi32(<4 x i32> %v) {
496 %v4xfloat = bitcast <4 x i32> %v to <4 x float> 496 %v4xfloat = bitcast <4 x i32> %v to <4 x float>
497 %v8xi16 = bitcast <4 x i32> %v to <8 x i16> 497 %v8xi16 = bitcast <4 x i32> %v to <8 x i16>
498 %v16xi8 = bitcast <4 x i32> %v to <16 x i8> 498 %v16xi8 = bitcast <4 x i32> %v to <16 x i8>
499 ret void 499 ret void
500 } 500 }
501 501
502 ; CHECK-NEXT: define void @BitcastV4xi32(<4 x i32> %__0) { 502 ; CHECK-NEXT: define internal void @BitcastV4xi32(<4 x i32> %__0) {
503 ; CHECK-NEXT: __0: 503 ; CHECK-NEXT: __0:
504 ; CHECK-NEXT: %__1 = bitcast <4 x i32> %__0 to <4 x float> 504 ; CHECK-NEXT: %__1 = bitcast <4 x i32> %__0 to <4 x float>
505 ; CHECK-NEXT: %__2 = bitcast <4 x i32> %__0 to <8 x i16> 505 ; CHECK-NEXT: %__2 = bitcast <4 x i32> %__0 to <8 x i16>
506 ; CHECK-NEXT: %__3 = bitcast <4 x i32> %__0 to <16 x i8> 506 ; CHECK-NEXT: %__3 = bitcast <4 x i32> %__0 to <16 x i8>
507 ; CHECK-NEXT: ret void 507 ; CHECK-NEXT: ret void
508 ; CHECK-NEXT: } 508 ; CHECK-NEXT: }
509 509
510 define void @BitcastV8xi16(<8 x i16> %v) { 510 define internal void @BitcastV8xi16(<8 x i16> %v) {
511 %v4xfloat = bitcast <8 x i16> %v to <4 x float> 511 %v4xfloat = bitcast <8 x i16> %v to <4 x float>
512 %v4xi32 = bitcast <8 x i16> %v to <4 x i32> 512 %v4xi32 = bitcast <8 x i16> %v to <4 x i32>
513 %v16xi8 = bitcast <8 x i16> %v to <16 x i8> 513 %v16xi8 = bitcast <8 x i16> %v to <16 x i8>
514 ret void 514 ret void
515 } 515 }
516 516
517 ; CHECK-NEXT: define void @BitcastV8xi16(<8 x i16> %__0) { 517 ; CHECK-NEXT: define internal void @BitcastV8xi16(<8 x i16> %__0) {
518 ; CHECK-NEXT: __0: 518 ; CHECK-NEXT: __0:
519 ; CHECK-NEXT: %__1 = bitcast <8 x i16> %__0 to <4 x float> 519 ; CHECK-NEXT: %__1 = bitcast <8 x i16> %__0 to <4 x float>
520 ; CHECK-NEXT: %__2 = bitcast <8 x i16> %__0 to <4 x i32> 520 ; CHECK-NEXT: %__2 = bitcast <8 x i16> %__0 to <4 x i32>
521 ; CHECK-NEXT: %__3 = bitcast <8 x i16> %__0 to <16 x i8> 521 ; CHECK-NEXT: %__3 = bitcast <8 x i16> %__0 to <16 x i8>
522 ; CHECK-NEXT: ret void 522 ; CHECK-NEXT: ret void
523 ; CHECK-NEXT: } 523 ; CHECK-NEXT: }
524 524
525 define void @BitcastV16xi8(<16 x i8> %v) { 525 define internal void @BitcastV16xi8(<16 x i8> %v) {
526 %v4xfloat = bitcast <16 x i8> %v to <4 x float> 526 %v4xfloat = bitcast <16 x i8> %v to <4 x float>
527 %v4xi32 = bitcast <16 x i8> %v to <4 x i32> 527 %v4xi32 = bitcast <16 x i8> %v to <4 x i32>
528 %v8xi16 = bitcast <16 x i8> %v to <8 x i16> 528 %v8xi16 = bitcast <16 x i8> %v to <8 x i16>
529 ret void 529 ret void
530 } 530 }
531 531
532 ; CHECK-NEXT: define void @BitcastV16xi8(<16 x i8> %__0) { 532 ; CHECK-NEXT: define internal void @BitcastV16xi8(<16 x i8> %__0) {
533 ; CHECK-NEXT: __0: 533 ; CHECK-NEXT: __0:
534 ; CHECK-NEXT: %__1 = bitcast <16 x i8> %__0 to <4 x float> 534 ; CHECK-NEXT: %__1 = bitcast <16 x i8> %__0 to <4 x float>
535 ; CHECK-NEXT: %__2 = bitcast <16 x i8> %__0 to <4 x i32> 535 ; CHECK-NEXT: %__2 = bitcast <16 x i8> %__0 to <4 x i32>
536 ; CHECK-NEXT: %__3 = bitcast <16 x i8> %__0 to <8 x i16> 536 ; CHECK-NEXT: %__3 = bitcast <16 x i8> %__0 to <8 x i16>
537 ; CHECK-NEXT: ret void 537 ; CHECK-NEXT: ret void
538 ; CHECK-NEXT: } 538 ; CHECK-NEXT: }
539 539
540 ; NOIR: Total across all functions 540 ; NOIR: Total across all functions
OLDNEW
« no previous file with comments | « tests_lit/reader_tests/call.ll ('k') | tests_lit/reader_tests/compare.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698