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

Side by Side Diff: test/NaCl/Bitcode/pnacl-bcdis/casts.ll

Issue 939073008: Rebased PNaCl localmods in LLVM to 223109 (Closed)
Patch Set: undo localmod Created 5 years, 10 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 | « test/NaCl/Bitcode/pnacl-bcdis/call.ll ('k') | test/NaCl/Bitcode/pnacl-bcdis/constants.ll » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 ; Test dumping cast operations.
2
3 ; RUN: llvm-as < %s | pnacl-freeze | pnacl-bccompress --remove-abbreviations \
4 ; RUN: | pnacl-bcdis | FileCheck %s
5
6
7 ; Test integer to integer casts.
8 define internal void @Int2IntCasts() {
9
10 ; CHECK: | | %b0:
11
12 ; Test truncation to i1.
13 %v0 = trunc i8 1 to i1
14 %v1 = trunc i16 2 to i1
15 %v2 = trunc i32 3 to i1
16 %v3 = trunc i64 4 to i1
17
18 ; CHECK-NEXT: {{.*}}| 3: <3, 3, 6, 0> | %v0 = trunc i8 %c2 to i1;
19 ; CHECK-NEXT: {{.*}}| 3: <3, 3, 6, 0> | %v1 = trunc i16 %c3 to i1;
20 ; CHECK-NEXT: {{.*}}| 3: <3, 7, 6, 0> | %v2 = trunc i32 %c0 to i1;
21 ; CHECK-NEXT: {{.*}}| 3: <3, 7, 6, 0> | %v3 = trunc i64 %c1 to i1;
22
23 ; Verify i1 generated.
24 %v4 = and i1 %v0, %v1
25 %v5 = and i1 %v2, %v3
26
27 ; CHECK-NEXT: {{.*}}| 3: <2, 4, 3, 10> | %v4 = and i1 %v0, %v1;
28 ; CHECK-NEXT: {{.*}}| 3: <2, 3, 2, 10> | %v5 = and i1 %v2, %v3;
29
30 ; Test truncation to i8.
31 %v6 = trunc i16 2 to i8
32 %v7 = trunc i32 3 to i8
33 %v8 = trunc i64 4 to i8
34
35 ; CHECK-NEXT: {{.*}}| 3: <3, 8, 4, 0> | %v6 = trunc i16 %c3 to i8;
36 ; CHECK-NEXT: {{.*}}| 3: <3, 12, 4, 0> | %v7 = trunc i32 %c0 to i8;
37 ; CHECK-NEXT: {{.*}}| 3: <3, 12, 4, 0> | %v8 = trunc i64 %c1 to i8;
38
39 ; Verify i8 generated.
40 %v9 = add i8 %v6, %v7
41 %v10 = add i8 %v8, %v8
42
43 ; CHECK-NEXT: {{.*}}| 3: <2, 3, 2, 0> | %v9 = add i8 %v6, %v7;
44 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 2, 0> | %v10 = add i8 %v8, %v8 ;
45
46 ; Test trunction to i16.
47 %v11 = trunc i32 3 to i16
48 %v12 = trunc i64 4 to i16
49
50 ; CHECK-NEXT: {{.*}}| 3: <3, 16, 5, 0> | %v11 = trunc i32 %c0 t o i16;
51 ; CHECK-NEXT: {{.*}}| 3: <3, 16, 5, 0> | %v12 = trunc i64 %c1 t o i16;
52
53 ; Verify i16 generated.
54 %v13 = add i16 %v11, %v12
55
56 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 1, 0> | %v13 = add i16 %v11, % v12;
57
58 ; Test truncation to i32.
59 %v14 = trunc i64 4 to i32
60
61 ; CHECK-NEXT: {{.*}}| 3: <3, 18, 2, 0> | %v14 = trunc i64 %c1 t o i32;
62
63 ; Verify i32 generated.
64 %v15 = add i32 %v14, %v14
65
66 ; CHECK-NEXT: {{.*}}| 3: <2, 1, 1, 0> | %v15 = add i32 %v14, % v14;
67
68 ; Test zero extend to i8.
69 %v16 = zext i1 0 to i8
70
71 ; CHECK-NEXT: {{.*}}| 3: <3, 17, 4, 1> | %v16 = zext i1 %c4 to i8;
72
73 ; Verify i8 generated.
74 %v17 = add i8 %v16, %v16
75
76 ; CHECK-NEXT: {{.*}}| 3: <2, 1, 1, 0> | %v17 = add i8 %v16, %v 16;
77
78 ; Test zero extend to i16.
79 %v18 = zext i1 0 to i16
80 %v19 = zext i8 1 to i16
81
82 ; CHECK-NEXT: {{.*}}| 3: <3, 19, 5, 1> | %v18 = zext i1 %c4 to i16;
83 ; CHECK-NEXT: {{.*}}| 3: <3, 22, 5, 1> | %v19 = zext i8 %c2 to i16;
84
85 ; Verify i16 generated.
86 %v20 = add i16 %v18, %v19
87
88 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 1, 0> | %v20 = add i16 %v18, % v19;
89
90 ; Test zero extend to i32.
91 %v21 = zext i1 0 to i32
92 %v22 = zext i8 1 to i32
93 %v23 = zext i16 2 to i32
94
95 ; CHECK-NEXT: {{.*}}| 3: <3, 22, 2, 1> | %v21 = zext i1 %c4 to i32;
96 ; CHECK-NEXT: {{.*}}| 3: <3, 25, 2, 1> | %v22 = zext i8 %c2 to i32;
97 ; CHECK-NEXT: {{.*}}| 3: <3, 25, 2, 1> | %v23 = zext i16 %c3 to i32;
98
99 ; Verify i32 generated.
100 %v24 = add i32 %v21, %v22
101 %v25 = add i32 %v23, %v24
102
103 ; CHECK-NEXT: {{.*}}| 3: <2, 3, 2, 0> | %v24 = add i32 %v21, % v22;
104 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 1, 0> | %v25 = add i32 %v23, % v24;
105
106 ; Test zero extend to i64.
107 %v26 = zext i1 0 to i64
108 %v27 = zext i8 1 to i64
109 %v28 = zext i16 2 to i64
110 %v29 = zext i32 3 to i64
111
112 ; CHECK-NEXT: {{.*}}| 3: <3, 27, 3, 1> | %v26 = zext i1 %c4 to i64;
113 ; CHECK-NEXT: {{.*}}| 3: <3, 30, 3, 1> | %v27 = zext i8 %c2 to i64;
114 ; CHECK-NEXT: {{.*}}| 3: <3, 30, 3, 1> | %v28 = zext i16 %c3 to i64;
115 ; CHECK-NEXT: {{.*}}| 3: <3, 34, 3, 1> | %v29 = zext i32 %c0 to i64;
116
117 ; Verify i64 generated.
118 %v30 = add i64 %v26, %v27
119 %v31 = add i64 %v28, %v29
120
121 ; CHECK-NEXT: {{.*}}| 3: <2, 4, 3, 0> | %v30 = add i64 %v26, % v27;
122 ; CHECK-NEXT: {{.*}}| 3: <2, 3, 2, 0> | %v31 = add i64 %v28, % v29;
123
124 ; Test sign extend to i8.
125 %v32 = sext i1 0 to i8
126
127 ; CHECK-NEXT: {{.*}}| 3: <3, 33, 4, 2> | %v32 = sext i1 %c4 to i8;
128
129 ; Verify i8 generated.
130 %v33 = add i8 %v32, %v32
131
132 ; CHECK-NEXT: {{.*}}| 3: <2, 1, 1, 0> | %v33 = add i8 %v32, %v 32;
133
134 ; Test sign extend to i16
135 %v34 = sext i1 0 to i16
136 %v35 = sext i8 1 to i16
137
138 ; CHECK-NEXT: {{.*}}| 3: <3, 35, 5, 2> | %v34 = sext i1 %c4 to i16;
139 ; CHECK-NEXT: {{.*}}| 3: <3, 38, 5, 2> | %v35 = sext i8 %c2 to i16;
140
141 ; Verify i16 generated.
142 %v36 = add i16 %v34, %v35
143
144 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 1, 0> | %v36 = add i16 %v34, % v35;
145
146 ; Test sign extend to i32.
147 %v37 = sext i1 0 to i32
148 %v38 = sext i8 1 to i32
149 %v39 = sext i16 2 to i32
150
151 ; CHECK-NEXT: {{.*}}| 3: <3, 38, 2, 2> | %v37 = sext i1 %c4 to i32;
152 ; CHECK-NEXT: {{.*}}| 3: <3, 41, 2, 2> | %v38 = sext i8 %c2 to i32;
153 ; CHECK-NEXT: {{.*}}| 3: <3, 41, 2, 2> | %v39 = sext i16 %c3 to i32;
154
155 ; Verify i32 generated.
156 %v40 = add i32 %v37, %v38
157 %v41 = add i32 %v39, %v40
158
159 ; CHECK-NEXT: {{.*}}| 3: <2, 3, 2, 0> | %v40 = add i32 %v37, % v38;
160 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 1, 0> | %v41 = add i32 %v39, % v40;
161
162 ; Test sign extend to i64.
163 %v42 = sext i1 0 to i64
164 %v43 = sext i8 1 to i64
165 %v44 = sext i16 2 to i64
166 %v45 = sext i32 3 to i64
167
168 ; CHECK-NEXT: {{.*}}| 3: <3, 43, 3, 2> | %v42 = sext i1 %c4 to i64;
169 ; CHECK-NEXT: {{.*}}| 3: <3, 46, 3, 2> | %v43 = sext i8 %c2 to i64;
170 ; CHECK-NEXT: {{.*}}| 3: <3, 46, 3, 2> | %v44 = sext i16 %c3 to i64;
171 ; CHECK-NEXT: {{.*}}| 3: <3, 50, 3, 2> | %v45 = sext i32 %c0 to i64;
172
173 ; Verify i64 generated.
174 %v46 = add i64 %v42, %v43
175 %v47 = add i64 %v44, %v45
176 ret void
177
178 ; CHECK-NEXT: {{.*}}| 3: <2, 4, 3, 0> | %v46 = add i64 %v42, % v43;
179 ; CHECK-NEXT: {{.*}}| 3: <2, 3, 2, 0> | %v47 = add i64 %v44, % v45;
180 ; CHECK-NEXT: {{.*}}| 3: <10> | ret void;
181
182 }
183
184
185
186 ; Test float to float casts.
187 define internal void @Float2FloatCasts(float %p0, double %p1) {
188
189 ; CHECK: | | %b0:
190
191 ; Test and verify truncation to float.
192 %v0 = fptrunc double %p1 to float
193 %v1 = fadd float %v0, %v0
194
195 ; CHECK-NEXT: {{.*}}| 3: <3, 1, 0, 7> | %v0 = fptrunc double % p1 to float;
196 ; CHECK-NEXT: {{.*}}| 3: <2, 1, 1, 0> | %v1 = fadd float %v0, %v0;
197
198 ; Test and verify extending to double.
199 %v2 = fpext float %p0 to double
200 %v3 = fadd double %v2, %v2
201 ret void
202
203 ; CHECK-NEXT: {{.*}}| 3: <3, 4, 1, 8> | %v2 = fpext float %p0 to double;
204 ; CHECK-NEXT: {{.*}}| 3: <2, 1, 1, 0> | %v3 = fadd double %v2, %v2;
205 ; CHECK-NEXT: {{.*}}| 3: <10> | ret void;
206
207 }
208
209
210
211 ; Test float to int casts.
212 define internal void @Float2IntCasts(float %p0, double %p1) {
213
214 ; CHECK: | | %b0:
215
216 ; Test and verify fptoui for i1.
217 %v0 = fptoui float %p0 to i1
218 %v1 = fptoui double %p1 to i1
219 %v2 = and i1 %v0, %v1
220
221 ; CHECK-NEXT: {{.*}}| 3: <3, 2, 6, 3> | %v0 = fptoui float %p0 to i1;
222 ; CHECK-NEXT: {{.*}}| 3: <3, 2, 6, 3> | %v1 = fptoui double %p 1 to i1;
223 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 1, 10> | %v2 = and i1 %v0, %v1;
224
225 ; Test and verify fptoui for i8.
226 %v3 = fptoui float %p0 to i8
227 %v4 = fptoui double %p1 to i8
228 %v5 = add i8 %v3, %v4
229
230 ; CHECK-NEXT: {{.*}}| 3: <3, 5, 4, 3> | %v3 = fptoui float %p0 to i8;
231 ; CHECK-NEXT: {{.*}}| 3: <3, 5, 4, 3> | %v4 = fptoui double %p 1 to i8;
232 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 1, 0> | %v5 = add i8 %v3, %v4;
233
234 ; Test and verify fptoui for i16.
235 %v6 = fptoui float %p0 to i16
236 %v7 = fptoui double %p1 to i16
237 %v8 = add i16 %v6, %v7
238
239 ; CHECK-NEXT: {{.*}}| 3: <3, 8, 5, 3> | %v6 = fptoui float %p0 to i16;
240 ; CHECK-NEXT: {{.*}}| 3: <3, 8, 5, 3> | %v7 = fptoui double %p 1 to i16;
241 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 1, 0> | %v8 = add i16 %v6, %v7 ;
242
243 ; Test and verify fptoui for i32.
244 %v9 = fptoui float %p0 to i32
245 %v10 = fptoui double %p1 to i32
246 %v11 = and i32 %v9, %v10
247
248 ; CHECK-NEXT: {{.*}}| 3: <3, 11, 2, 3> | %v9 = fptoui float %p0 to i32;
249 ; CHECK-NEXT: {{.*}}| 3: <3, 11, 2, 3> | %v10 = fptoui double % p1 to i32;
250 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 1, 10> | %v11 = and i32 %v9, %v 10;
251
252 ; Test and verify fptoui for i64
253 %v12 = fptoui float %p0 to i64
254 %v13 = fptoui double %p1 to i64
255 %v14 = and i64 %v12, %v13
256
257 ; CHECK-NEXT: {{.*}}| 3: <3, 14, 3, 3> | %v12 = fptoui float %p 0 to i64;
258 ; CHECK-NEXT: {{.*}}| 3: <3, 14, 3, 3> | %v13 = fptoui double % p1 to i64;
259 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 1, 10> | %v14 = and i64 %v12, % v13;
260
261 ; Test and verify fptosi for i1.
262 %v15 = fptosi float %p0 to i1
263 %v16 = fptosi double %p1 to i1
264 %v17 = and i1 %v15, %v16
265
266 ; CHECK-NEXT: {{.*}}| 3: <3, 17, 6, 4> | %v15 = fptosi float %p 0 to i1;
267 ; CHECK-NEXT: {{.*}}| 3: <3, 17, 6, 4> | %v16 = fptosi double % p1 to i1;
268 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 1, 10> | %v17 = and i1 %v15, %v 16;
269
270 ; Test and verify fptosi for i8.
271 %v18 = fptosi float %p0 to i8
272 %v19 = fptosi double %p1 to i8
273 %v20 = add i8 %v18, %v19
274
275 ; CHECK-NEXT: {{.*}}| 3: <3, 20, 4, 4> | %v18 = fptosi float %p 0 to i8;
276 ; CHECK-NEXT: {{.*}}| 3: <3, 20, 4, 4> | %v19 = fptosi double % p1 to i8;
277 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 1, 0> | %v20 = add i8 %v18, %v 19;
278
279 ; Test and verify fptosi for i16.
280 %v21 = fptosi float %p0 to i16
281 %v22 = fptosi double %p1 to i16
282 %v23 = add i16 %v21, %v22
283
284 ; CHECK-NEXT: {{.*}}| 3: <3, 23, 5, 4> | %v21 = fptosi float %p 0 to i16;
285 ; CHECK-NEXT: {{.*}}| 3: <3, 23, 5, 4> | %v22 = fptosi double % p1 to i16;
286 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 1, 0> | %v23 = add i16 %v21, % v22;
287
288 ; Test and verify fptosi for i32.
289 %v24 = fptosi float %p0 to i32
290 %v25 = fptosi double %p1 to i32
291 %v26 = and i32 %v24, %v25
292
293 ; CHECK-NEXT: {{.*}}| 3: <3, 26, 2, 4> | %v24 = fptosi float %p 0 to i32;
294 ; CHECK-NEXT: {{.*}}| 3: <3, 26, 2, 4> | %v25 = fptosi double % p1 to i32;
295 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 1, 10> | %v26 = and i32 %v24, % v25;
296
297 ; Test and verify fptosi for i64
298 %v27 = fptosi float %p0 to i64
299 %v28 = fptosi double %p1 to i64
300 %v29 = and i64 %v27, %v28
301
302 ; CHECK-NEXT: {{.*}}| 3: <3, 29, 3, 4> | %v27 = fptosi float %p 0 to i64;
303 ; CHECK-NEXT: {{.*}}| 3: <3, 29, 3, 4> | %v28 = fptosi double % p1 to i64;
304 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 1, 10> | %v29 = and i64 %v27, % v28;
305
306 ; Test and verify bitcast to i32.
307 %v30 = bitcast float %p0 to i32
308 %v31 = add i32 %v30, %v30
309
310 ; CHECK-NEXT: {{.*}}| 3: <3, 32, 2, 11> | %v30 = bitcast float % p0 to i32;
311 ; CHECK-NEXT: {{.*}}| 3: <2, 1, 1, 0> | %v31 = add i32 %v30, % v30;
312
313 ; Test and verify bitcast to i64.
314 %v32 = bitcast double %p1 to i64
315 %v33 = add i64 %v32, %v32
316 ret void
317
318 ; CHECK-NEXT: {{.*}}| 3: <3, 33, 3, 11> | %v32 = bitcast double %p1 to i64;
319 ; CHECK-NEXT: {{.*}}| 3: <2, 1, 1, 0> | %v33 = add i64 %v32, % v32;
320 ; CHECK-NEXT: {{.*}}| 3: <10> | ret void;
321
322 }
323
324
325
326 ; Test int to float casts.
327 define internal void @Int2FloatCasts() {
328
329 ; CHECK: | | %b0:
330
331 ; Test uitofp conversions to float.
332 %v0 = uitofp i1 0 to float
333 %v1 = uitofp i8 1 to float
334 %v2 = uitofp i16 2 to float
335 %v3 = uitofp i32 3 to float
336 %v4 = uitofp i64 4 to float
337
338 ; CHECK-NEXT: {{.*}}| 3: <3, 1, 0, 5> | %v0 = uitofp i1 %c4 to float;
339 ; CHECK-NEXT: {{.*}}| 3: <3, 4, 0, 5> | %v1 = uitofp i8 %c2 to float;
340 ; CHECK-NEXT: {{.*}}| 3: <3, 4, 0, 5> | %v2 = uitofp i16 %c3 t o float;
341 ; CHECK-NEXT: {{.*}}| 3: <3, 8, 0, 5> | %v3 = uitofp i32 %c0 t o float;
342 ; CHECK-NEXT: {{.*}}| 3: <3, 8, 0, 5> | %v4 = uitofp i64 %c1 t o float;
343
344 ; Verify floats generated.
345 %v5 = fadd float %v0, %v1
346 %v6 = fadd float %v2, %v3
347 %v7 = fadd float %v4, %v5
348
349 ; CHECK-NEXT: {{.*}}| 3: <2, 5, 4, 0> | %v5 = fadd float %v0, %v1;
350 ; CHECK-NEXT: {{.*}}| 3: <2, 4, 3, 0> | %v6 = fadd float %v2, %v3;
351 ; CHECK-NEXT: {{.*}}| 3: <2, 3, 2, 0> | %v7 = fadd float %v4, %v5;
352
353 ; Test uitofp conversions to double
354 %v8 = uitofp i1 0 to double
355 %v9 = uitofp i8 1 to double
356 %v10 = uitofp i16 2 to double
357 %v11 = uitofp i32 3 to double
358 %v12 = uitofp i64 4 to double
359
360 ; CHECK-NEXT: {{.*}}| 3: <3, 9, 1, 5> | %v8 = uitofp i1 %c4 to double;
361 ; CHECK-NEXT: {{.*}}| 3: <3, 12, 1, 5> | %v9 = uitofp i8 %c2 to double;
362 ; CHECK-NEXT: {{.*}}| 3: <3, 12, 1, 5> | %v10 = uitofp i16 %c3 to double;
363 ; CHECK-NEXT: {{.*}}| 3: <3, 16, 1, 5> | %v11 = uitofp i32 %c0 to double;
364 ; CHECK-NEXT: {{.*}}| 3: <3, 16, 1, 5> | %v12 = uitofp i64 %c1 to double;
365
366 ; Verify doubles generated.
367 %v13 = fadd double %v8, %v9
368 %v14 = fadd double %v10, %v11
369 %v15 = fadd double %v12, %v13
370
371 ; CHECK-NEXT: {{.*}}| 3: <2, 5, 4, 0> | %v13 = fadd double %v8 , %v9;
372 ; CHECK-NEXT: {{.*}}| 3: <2, 4, 3, 0> | %v14 = fadd double %v1 0, %v11;
373 ; CHECK-NEXT: {{.*}}| 3: <2, 3, 2, 0> | %v15 = fadd double %v1 2, %v13;
374
375 ; Test sitofp conversions to float.
376 %v16 = sitofp i1 0 to float
377 %v17 = sitofp i8 1 to float
378 %v18 = sitofp i16 2 to float
379 %v19 = sitofp i32 3 to float
380 %v20 = sitofp i64 4 to float
381
382 ; CHECK-NEXT: {{.*}}| 3: <3, 17, 0, 6> | %v16 = sitofp i1 %c4 t o float;
383 ; CHECK-NEXT: {{.*}}| 3: <3, 20, 0, 6> | %v17 = sitofp i8 %c2 t o float;
384 ; CHECK-NEXT: {{.*}}| 3: <3, 20, 0, 6> | %v18 = sitofp i16 %c3 to float;
385 ; CHECK-NEXT: {{.*}}| 3: <3, 24, 0, 6> | %v19 = sitofp i32 %c0 to float;
386 ; CHECK-NEXT: {{.*}}| 3: <3, 24, 0, 6> | %v20 = sitofp i64 %c1 to float;
387
388 ; Verify floats generated.
389 %v21 = fadd float %v16, %v17
390 %v22 = fadd float %v18, %v19
391 %v23 = fadd float %v20, %v21
392
393 ; CHECK-NEXT: {{.*}}| 3: <2, 5, 4, 0> | %v21 = fadd float %v16 , %v17;
394 ; CHECK-NEXT: {{.*}}| 3: <2, 4, 3, 0> | %v22 = fadd float %v18 , %v19;
395 ; CHECK-NEXT: {{.*}}| 3: <2, 3, 2, 0> | %v23 = fadd float %v20 , %v21;
396
397 ; Test sitofp conversions to double
398 %v24 = sitofp i1 0 to double
399 %v25 = sitofp i8 1 to double
400 %v26 = sitofp i16 2 to double
401 %v27 = sitofp i32 3 to double
402 %v28 = sitofp i64 4 to double
403
404 ; CHECK-NEXT: {{.*}}| 3: <3, 25, 1, 6> | %v24 = sitofp i1 %c4 t o double;
405 ; CHECK-NEXT: {{.*}}| 3: <3, 28, 1, 6> | %v25 = sitofp i8 %c2 t o double;
406 ; CHECK-NEXT: {{.*}}| 3: <3, 28, 1, 6> | %v26 = sitofp i16 %c3 to double;
407 ; CHECK-NEXT: {{.*}}| 3: <3, 32, 1, 6> | %v27 = sitofp i32 %c0 to double;
408 ; CHECK-NEXT: {{.*}}| 3: <3, 32, 1, 6> | %v28 = sitofp i64 %c1 to double;
409
410 ; Verify doubles generated.
411 %v29 = fadd double %v24, %v25
412 %v30 = fadd double %v26, %v27
413 %v31 = fadd double %v29, %v30
414 ret void
415
416 ; CHECK-NEXT: {{.*}}| 3: <2, 5, 4, 0> | %v29 = fadd double %v2 4, %v25;
417 ; CHECK-NEXT: {{.*}}| 3: <2, 4, 3, 0> | %v30 = fadd double %v2 6, %v27;
418 ; CHECK-NEXT: {{.*}}| 3: <2, 2, 1, 0> | %v31 = fadd double %v2 9, %v30;
419 ; CHECK-NEXT: {{.*}}| 3: <10> | ret void;
420
421 }
422
OLDNEW
« no previous file with comments | « test/NaCl/Bitcode/pnacl-bcdis/call.ll ('k') | test/NaCl/Bitcode/pnacl-bcdis/constants.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698