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

Side by Side Diff: tests_lit/llvm2ice_tests/fpconst.pnacl.ll

Issue 205613002: Initial skeleton of Subzero. (Closed) Base URL: https://gerrit.chromium.org/gerrit/p/native_client/pnacl-subzero.git@master
Patch Set: Changes for JF's followup Created 6 years, 8 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
OLDNEW
(Empty)
1 ; RUN: %szdiff --llvm2ice=%llvm2ice %s | FileCheck --check-prefix=DUMP %s
JF 2014/04/26 20:20:56 Add a comment on what the hex value FP constants a
Jim Stichnoth 2014/04/27 15:04:57 Done.
2
3 @__init_array_start = internal constant [0 x i8] zeroinitializer, align 4
4 @__fini_array_start = internal constant [0 x i8] zeroinitializer, align 4
5 @__tls_template_start = internal constant [0 x i8] zeroinitializer, align 8
6 @__tls_template_alignment = internal constant [4 x i8] c"\01\00\00\00", align 4
7
8 define internal float @FpLookup1(i32 %Arg) {
9 entry:
10 switch i32 %Arg, label %return [
11 i32 0, label %sw.bb
12 i32 1, label %sw.bb1
13 i32 2, label %sw.bb4
14 i32 3, label %sw.bb7
15 i32 -1, label %sw.bb10
16 i32 -2, label %sw.bb14
17 i32 -3, label %sw.bb19
18 i32 10, label %sw.bb24
19 i32 -10, label %sw.bb27
20 i32 100, label %sw.bb30
21 i32 101, label %sw.bb33
22 i32 102, label %sw.bb36
23 i32 103, label %sw.bb39
24 i32 -101, label %sw.bb42
25 i32 -102, label %sw.bb47
26 i32 -103, label %sw.bb52
27 i32 110, label %sw.bb57
28 i32 -110, label %sw.bb60
29 ]
30
31 sw.bb: ; preds = %entry
32 %call = call float @Dummy(i32 0)
33 %add = fadd float %call, 1.000000e+00
34 br label %return
35
36 sw.bb1: ; preds = %entry
37 %call2 = call float @Dummy(i32 1)
38 %add3 = fadd float %call2, 2.000000e+00
39 br label %return
40
41 sw.bb4: ; preds = %entry
42 %call5 = call float @Dummy(i32 2)
43 %add6 = fadd float %call5, 4.000000e+00
44 br label %return
45
46 sw.bb7: ; preds = %entry
47 %call8 = call float @Dummy(i32 3)
48 %add9 = fadd float %call8, 8.000000e+00
49 br label %return
50
51 sw.bb10: ; preds = %entry
52 %call11 = call float @Dummy(i32 -1)
53 %conv13 = fadd float %call11, 5.000000e-01
54 br label %return
55
56 sw.bb14: ; preds = %entry
57 %call15 = call float @Dummy(i32 -2)
58 %conv16 = fpext float %call15 to double
59 %add17 = fadd double %conv16, 0x3FD5555555555555
60 %conv18 = fptrunc double %add17 to float
61 br label %return
62
63 sw.bb19: ; preds = %entry
64 %call20 = call float @Dummy(i32 -3)
65 %conv23 = fadd float %call20, 2.500000e-01
66 br label %return
67
68 sw.bb24: ; preds = %entry
69 %call25 = call float @Dummy(i32 10)
70 %add26 = fadd float %call25, 0x7FF8000000000000
71 br label %return
72
73 sw.bb27: ; preds = %entry
74 %call28 = call float @Dummy(i32 -10)
75 %add29 = fadd float %call28, 0xFFF8000000000000
76 br label %return
77
78 sw.bb30: ; preds = %entry
79 %call31 = call float @Dummy(i32 100)
80 %add32 = fadd float %call31, 1.000000e+00
81 br label %return
82
83 sw.bb33: ; preds = %entry
84 %call34 = call float @Dummy(i32 101)
85 %add35 = fadd float %call34, 2.000000e+00
86 br label %return
87
88 sw.bb36: ; preds = %entry
89 %call37 = call float @Dummy(i32 102)
90 %add38 = fadd float %call37, 4.000000e+00
91 br label %return
92
93 sw.bb39: ; preds = %entry
94 %call40 = call float @Dummy(i32 103)
95 %add41 = fadd float %call40, 8.000000e+00
96 br label %return
97
98 sw.bb42: ; preds = %entry
99 %call43 = call float @Dummy(i32 -101)
100 %conv46 = fadd float %call43, 5.000000e-01
101 br label %return
102
103 sw.bb47: ; preds = %entry
104 %call48 = call float @Dummy(i32 -102)
105 %conv49 = fpext float %call48 to double
106 %add50 = fadd double %conv49, 0x3FD5555555555555
107 %conv51 = fptrunc double %add50 to float
108 br label %return
109
110 sw.bb52: ; preds = %entry
111 %call53 = call float @Dummy(i32 -103)
112 %conv56 = fadd float %call53, 2.500000e-01
113 br label %return
114
115 sw.bb57: ; preds = %entry
116 %call58 = call float @Dummy(i32 110)
117 %add59 = fadd float %call58, 0x7FF8000000000000
118 br label %return
119
120 sw.bb60: ; preds = %entry
121 %call61 = call float @Dummy(i32 -110)
122 %add62 = fadd float %call61, 0xFFF8000000000000
123 br label %return
124
125 return: ; preds = %entry, %sw.bb60, %s w.bb57, %sw.bb52, %sw.bb47, %sw.bb42, %sw.bb39, %sw.bb36, %sw.bb33, %sw.bb30, %s w.bb27, %sw.bb24, %sw.bb19, %sw.bb14, %sw.bb10, %sw.bb7, %sw.bb4, %sw.bb1, %sw.b b
126 %retval.0 = phi float [ %add62, %sw.bb60 ], [ %add59, %sw.bb57 ], [ %conv56, % sw.bb52 ], [ %conv51, %sw.bb47 ], [ %conv46, %sw.bb42 ], [ %add41, %sw.bb39 ], [ %add38, %sw.bb36 ], [ %add35, %sw.bb33 ], [ %add32, %sw.bb30 ], [ %add29, %sw.b b27 ], [ %add26, %sw.bb24 ], [ %conv23, %sw.bb19 ], [ %conv18, %sw.bb14 ], [ %co nv13, %sw.bb10 ], [ %add9, %sw.bb7 ], [ %add6, %sw.bb4 ], [ %add3, %sw.bb1 ], [ %add, %sw.bb ], [ 0.000000e+00, %entry ]
127 ret float %retval.0
128 }
129
130 declare float @Dummy(i32)
131
132 define internal float @FpLookup2(i32 %Arg) {
133 entry:
134 switch i32 %Arg, label %return [
135 i32 0, label %sw.bb
136 i32 1, label %sw.bb1
137 i32 2, label %sw.bb4
138 i32 3, label %sw.bb7
139 i32 -1, label %sw.bb10
140 i32 -2, label %sw.bb14
141 i32 -3, label %sw.bb19
142 i32 10, label %sw.bb24
143 i32 -10, label %sw.bb27
144 i32 100, label %sw.bb30
145 i32 101, label %sw.bb33
146 i32 102, label %sw.bb36
147 i32 103, label %sw.bb39
148 i32 -101, label %sw.bb42
149 i32 -102, label %sw.bb47
150 i32 -103, label %sw.bb52
151 i32 110, label %sw.bb57
152 i32 -110, label %sw.bb60
153 ]
154
155 sw.bb: ; preds = %entry
156 %call = call float @Dummy(i32 0)
157 %add = fadd float %call, 1.000000e+00
158 br label %return
159
160 sw.bb1: ; preds = %entry
161 %call2 = call float @Dummy(i32 1)
162 %add3 = fadd float %call2, 2.000000e+00
163 br label %return
164
165 sw.bb4: ; preds = %entry
166 %call5 = call float @Dummy(i32 2)
167 %add6 = fadd float %call5, 4.000000e+00
168 br label %return
169
170 sw.bb7: ; preds = %entry
171 %call8 = call float @Dummy(i32 3)
172 %add9 = fadd float %call8, 8.000000e+00
173 br label %return
174
175 sw.bb10: ; preds = %entry
176 %call11 = call float @Dummy(i32 -1)
177 %conv13 = fadd float %call11, 5.000000e-01
178 br label %return
179
180 sw.bb14: ; preds = %entry
181 %call15 = call float @Dummy(i32 -2)
182 %conv16 = fpext float %call15 to double
183 %add17 = fadd double %conv16, 0x3FD5555555555555
184 %conv18 = fptrunc double %add17 to float
185 br label %return
186
187 sw.bb19: ; preds = %entry
188 %call20 = call float @Dummy(i32 -3)
189 %conv23 = fadd float %call20, 2.500000e-01
190 br label %return
191
192 sw.bb24: ; preds = %entry
193 %call25 = call float @Dummy(i32 10)
194 %add26 = fadd float %call25, 0x7FF8000000000000
195 br label %return
196
197 sw.bb27: ; preds = %entry
198 %call28 = call float @Dummy(i32 -10)
199 %add29 = fadd float %call28, 0xFFF8000000000000
200 br label %return
201
202 sw.bb30: ; preds = %entry
203 %call31 = call float @Dummy(i32 100)
204 %add32 = fadd float %call31, 1.000000e+00
205 br label %return
206
207 sw.bb33: ; preds = %entry
208 %call34 = call float @Dummy(i32 101)
209 %add35 = fadd float %call34, 2.000000e+00
210 br label %return
211
212 sw.bb36: ; preds = %entry
213 %call37 = call float @Dummy(i32 102)
214 %add38 = fadd float %call37, 4.000000e+00
215 br label %return
216
217 sw.bb39: ; preds = %entry
218 %call40 = call float @Dummy(i32 103)
219 %add41 = fadd float %call40, 8.000000e+00
220 br label %return
221
222 sw.bb42: ; preds = %entry
223 %call43 = call float @Dummy(i32 -101)
224 %conv46 = fadd float %call43, 5.000000e-01
225 br label %return
226
227 sw.bb47: ; preds = %entry
228 %call48 = call float @Dummy(i32 -102)
229 %conv49 = fpext float %call48 to double
230 %add50 = fadd double %conv49, 0x3FD5555555555555
231 %conv51 = fptrunc double %add50 to float
232 br label %return
233
234 sw.bb52: ; preds = %entry
235 %call53 = call float @Dummy(i32 -103)
236 %conv56 = fadd float %call53, 2.500000e-01
237 br label %return
238
239 sw.bb57: ; preds = %entry
240 %call58 = call float @Dummy(i32 110)
241 %add59 = fadd float %call58, 0x7FF8000000000000
242 br label %return
243
244 sw.bb60: ; preds = %entry
245 %call61 = call float @Dummy(i32 -110)
246 %add62 = fadd float %call61, 0xFFF8000000000000
247 br label %return
248
249 return: ; preds = %entry, %sw.bb60, %s w.bb57, %sw.bb52, %sw.bb47, %sw.bb42, %sw.bb39, %sw.bb36, %sw.bb33, %sw.bb30, %s w.bb27, %sw.bb24, %sw.bb19, %sw.bb14, %sw.bb10, %sw.bb7, %sw.bb4, %sw.bb1, %sw.b b
250 %retval.0 = phi float [ %add62, %sw.bb60 ], [ %add59, %sw.bb57 ], [ %conv56, % sw.bb52 ], [ %conv51, %sw.bb47 ], [ %conv46, %sw.bb42 ], [ %add41, %sw.bb39 ], [ %add38, %sw.bb36 ], [ %add35, %sw.bb33 ], [ %add32, %sw.bb30 ], [ %add29, %sw.b b27 ], [ %add26, %sw.bb24 ], [ %conv23, %sw.bb19 ], [ %conv18, %sw.bb14 ], [ %co nv13, %sw.bb10 ], [ %add9, %sw.bb7 ], [ %add6, %sw.bb4 ], [ %add3, %sw.bb1 ], [ %add, %sw.bb ], [ 0.000000e+00, %entry ]
251 ret float %retval.0
252 }
253
254 define internal double @FpLookup3(i32 %Arg) {
255 entry:
256 switch i32 %Arg, label %return [
257 i32 0, label %sw.bb
258 i32 1, label %sw.bb1
259 i32 2, label %sw.bb5
260 i32 3, label %sw.bb9
261 i32 -1, label %sw.bb13
262 i32 -2, label %sw.bb17
263 i32 -3, label %sw.bb21
264 i32 10, label %sw.bb25
265 i32 -10, label %sw.bb29
266 i32 100, label %sw.bb33
267 i32 101, label %sw.bb37
268 i32 102, label %sw.bb41
269 i32 103, label %sw.bb45
270 i32 -101, label %sw.bb49
271 i32 -102, label %sw.bb53
272 i32 -103, label %sw.bb57
273 i32 110, label %sw.bb61
274 i32 -110, label %sw.bb65
275 ]
276
277 sw.bb: ; preds = %entry
278 %call = call float @Dummy(i32 0)
279 %add = fadd float %call, 1.000000e+00
280 %conv = fpext float %add to double
281 br label %return
282
283 sw.bb1: ; preds = %entry
284 %call2 = call float @Dummy(i32 1)
285 %add3 = fadd float %call2, 2.000000e+00
286 %conv4 = fpext float %add3 to double
287 br label %return
288
289 sw.bb5: ; preds = %entry
290 %call6 = call float @Dummy(i32 2)
291 %add7 = fadd float %call6, 4.000000e+00
292 %conv8 = fpext float %add7 to double
293 br label %return
294
295 sw.bb9: ; preds = %entry
296 %call10 = call float @Dummy(i32 3)
297 %add11 = fadd float %call10, 8.000000e+00
298 %conv12 = fpext float %add11 to double
299 br label %return
300
301 sw.bb13: ; preds = %entry
302 %call14 = call float @Dummy(i32 -1)
303 %conv15 = fpext float %call14 to double
304 %add16 = fadd double %conv15, 5.000000e-01
305 br label %return
306
307 sw.bb17: ; preds = %entry
308 %call18 = call float @Dummy(i32 -2)
309 %conv19 = fpext float %call18 to double
310 %add20 = fadd double %conv19, 0x3FD5555555555555
311 br label %return
312
313 sw.bb21: ; preds = %entry
314 %call22 = call float @Dummy(i32 -3)
315 %conv23 = fpext float %call22 to double
316 %add24 = fadd double %conv23, 2.500000e-01
317 br label %return
318
319 sw.bb25: ; preds = %entry
320 %call26 = call float @Dummy(i32 10)
321 %conv27 = fpext float %call26 to double
322 %add28 = fadd double %conv27, 0x7FF8000000000000
323 br label %return
324
325 sw.bb29: ; preds = %entry
326 %call30 = call float @Dummy(i32 -10)
327 %conv31 = fpext float %call30 to double
328 %add32 = fadd double %conv31, 0xFFF8000000000000
329 br label %return
330
331 sw.bb33: ; preds = %entry
332 %call34 = call float @Dummy(i32 100)
333 %add35 = fadd float %call34, 1.000000e+00
334 %conv36 = fpext float %add35 to double
335 br label %return
336
337 sw.bb37: ; preds = %entry
338 %call38 = call float @Dummy(i32 101)
339 %add39 = fadd float %call38, 2.000000e+00
340 %conv40 = fpext float %add39 to double
341 br label %return
342
343 sw.bb41: ; preds = %entry
344 %call42 = call float @Dummy(i32 102)
345 %add43 = fadd float %call42, 4.000000e+00
346 %conv44 = fpext float %add43 to double
347 br label %return
348
349 sw.bb45: ; preds = %entry
350 %call46 = call float @Dummy(i32 103)
351 %add47 = fadd float %call46, 8.000000e+00
352 %conv48 = fpext float %add47 to double
353 br label %return
354
355 sw.bb49: ; preds = %entry
356 %call50 = call float @Dummy(i32 -101)
357 %conv51 = fpext float %call50 to double
358 %add52 = fadd double %conv51, 5.000000e-01
359 br label %return
360
361 sw.bb53: ; preds = %entry
362 %call54 = call float @Dummy(i32 -102)
363 %conv55 = fpext float %call54 to double
364 %add56 = fadd double %conv55, 0x3FD5555555555555
365 br label %return
366
367 sw.bb57: ; preds = %entry
368 %call58 = call float @Dummy(i32 -103)
369 %conv59 = fpext float %call58 to double
370 %add60 = fadd double %conv59, 2.500000e-01
371 br label %return
372
373 sw.bb61: ; preds = %entry
374 %call62 = call float @Dummy(i32 110)
375 %conv63 = fpext float %call62 to double
376 %add64 = fadd double %conv63, 0x7FF8000000000000
377 br label %return
378
379 sw.bb65: ; preds = %entry
380 %call66 = call float @Dummy(i32 -110)
381 %conv67 = fpext float %call66 to double
382 %add68 = fadd double %conv67, 0xFFF8000000000000
383 br label %return
384
385 return: ; preds = %entry, %sw.bb65, %s w.bb61, %sw.bb57, %sw.bb53, %sw.bb49, %sw.bb45, %sw.bb41, %sw.bb37, %sw.bb33, %s w.bb29, %sw.bb25, %sw.bb21, %sw.bb17, %sw.bb13, %sw.bb9, %sw.bb5, %sw.bb1, %sw.b b
386 %retval.0 = phi double [ %add68, %sw.bb65 ], [ %add64, %sw.bb61 ], [ %add60, % sw.bb57 ], [ %add56, %sw.bb53 ], [ %add52, %sw.bb49 ], [ %conv48, %sw.bb45 ], [ %conv44, %sw.bb41 ], [ %conv40, %sw.bb37 ], [ %conv36, %sw.bb33 ], [ %add32, %sw .bb29 ], [ %add28, %sw.bb25 ], [ %add24, %sw.bb21 ], [ %add20, %sw.bb17 ], [ %ad d16, %sw.bb13 ], [ %conv12, %sw.bb9 ], [ %conv8, %sw.bb5 ], [ %conv4, %sw.bb1 ], [ %conv, %sw.bb ], [ 0.000000e+00, %entry ]
387 ret double %retval.0
388 }
389
390 define internal double @FpLookup4(i32 %Arg) {
391 entry:
392 switch i32 %Arg, label %return [
393 i32 0, label %sw.bb
394 i32 1, label %sw.bb1
395 i32 2, label %sw.bb5
396 i32 3, label %sw.bb9
397 i32 -1, label %sw.bb13
398 i32 -2, label %sw.bb17
399 i32 -3, label %sw.bb21
400 i32 10, label %sw.bb25
401 i32 -10, label %sw.bb29
402 i32 100, label %sw.bb33
403 i32 101, label %sw.bb37
404 i32 102, label %sw.bb41
405 i32 103, label %sw.bb45
406 i32 -101, label %sw.bb49
407 i32 -102, label %sw.bb53
408 i32 -103, label %sw.bb57
409 i32 110, label %sw.bb61
410 i32 -110, label %sw.bb65
411 ]
412
413 sw.bb: ; preds = %entry
414 %call = call float @Dummy(i32 0)
415 %add = fadd float %call, 1.000000e+00
416 %conv = fpext float %add to double
417 br label %return
418
419 sw.bb1: ; preds = %entry
420 %call2 = call float @Dummy(i32 1)
421 %add3 = fadd float %call2, 2.000000e+00
422 %conv4 = fpext float %add3 to double
423 br label %return
424
425 sw.bb5: ; preds = %entry
426 %call6 = call float @Dummy(i32 2)
427 %add7 = fadd float %call6, 4.000000e+00
428 %conv8 = fpext float %add7 to double
429 br label %return
430
431 sw.bb9: ; preds = %entry
432 %call10 = call float @Dummy(i32 3)
433 %add11 = fadd float %call10, 8.000000e+00
434 %conv12 = fpext float %add11 to double
435 br label %return
436
437 sw.bb13: ; preds = %entry
438 %call14 = call float @Dummy(i32 -1)
439 %conv15 = fpext float %call14 to double
440 %add16 = fadd double %conv15, 5.000000e-01
441 br label %return
442
443 sw.bb17: ; preds = %entry
444 %call18 = call float @Dummy(i32 -2)
445 %conv19 = fpext float %call18 to double
446 %add20 = fadd double %conv19, 0x3FD5555555555555
447 br label %return
448
449 sw.bb21: ; preds = %entry
450 %call22 = call float @Dummy(i32 -3)
451 %conv23 = fpext float %call22 to double
452 %add24 = fadd double %conv23, 2.500000e-01
453 br label %return
454
455 sw.bb25: ; preds = %entry
456 %call26 = call float @Dummy(i32 10)
457 %conv27 = fpext float %call26 to double
458 %add28 = fadd double %conv27, 0x7FF8000000000000
459 br label %return
460
461 sw.bb29: ; preds = %entry
462 %call30 = call float @Dummy(i32 -10)
463 %conv31 = fpext float %call30 to double
464 %add32 = fadd double %conv31, 0xFFF8000000000000
465 br label %return
466
467 sw.bb33: ; preds = %entry
468 %call34 = call float @Dummy(i32 100)
469 %add35 = fadd float %call34, 1.000000e+00
470 %conv36 = fpext float %add35 to double
471 br label %return
472
473 sw.bb37: ; preds = %entry
474 %call38 = call float @Dummy(i32 101)
475 %add39 = fadd float %call38, 2.000000e+00
476 %conv40 = fpext float %add39 to double
477 br label %return
478
479 sw.bb41: ; preds = %entry
480 %call42 = call float @Dummy(i32 102)
481 %add43 = fadd float %call42, 4.000000e+00
482 %conv44 = fpext float %add43 to double
483 br label %return
484
485 sw.bb45: ; preds = %entry
486 %call46 = call float @Dummy(i32 103)
487 %add47 = fadd float %call46, 8.000000e+00
488 %conv48 = fpext float %add47 to double
489 br label %return
490
491 sw.bb49: ; preds = %entry
492 %call50 = call float @Dummy(i32 -101)
493 %conv51 = fpext float %call50 to double
494 %add52 = fadd double %conv51, 5.000000e-01
495 br label %return
496
497 sw.bb53: ; preds = %entry
498 %call54 = call float @Dummy(i32 -102)
499 %conv55 = fpext float %call54 to double
500 %add56 = fadd double %conv55, 0x3FD5555555555555
501 br label %return
502
503 sw.bb57: ; preds = %entry
504 %call58 = call float @Dummy(i32 -103)
505 %conv59 = fpext float %call58 to double
506 %add60 = fadd double %conv59, 2.500000e-01
507 br label %return
508
509 sw.bb61: ; preds = %entry
510 %call62 = call float @Dummy(i32 110)
511 %conv63 = fpext float %call62 to double
512 %add64 = fadd double %conv63, 0x7FF8000000000000
513 br label %return
514
515 sw.bb65: ; preds = %entry
516 %call66 = call float @Dummy(i32 -110)
517 %conv67 = fpext float %call66 to double
518 %add68 = fadd double %conv67, 0xFFF8000000000000
519 br label %return
520
521 return: ; preds = %entry, %sw.bb65, %s w.bb61, %sw.bb57, %sw.bb53, %sw.bb49, %sw.bb45, %sw.bb41, %sw.bb37, %sw.bb33, %s w.bb29, %sw.bb25, %sw.bb21, %sw.bb17, %sw.bb13, %sw.bb9, %sw.bb5, %sw.bb1, %sw.b b
522 %retval.0 = phi double [ %add68, %sw.bb65 ], [ %add64, %sw.bb61 ], [ %add60, % sw.bb57 ], [ %add56, %sw.bb53 ], [ %add52, %sw.bb49 ], [ %conv48, %sw.bb45 ], [ %conv44, %sw.bb41 ], [ %conv40, %sw.bb37 ], [ %conv36, %sw.bb33 ], [ %add32, %sw .bb29 ], [ %add28, %sw.bb25 ], [ %add24, %sw.bb21 ], [ %add20, %sw.bb17 ], [ %ad d16, %sw.bb13 ], [ %conv12, %sw.bb9 ], [ %conv8, %sw.bb5 ], [ %conv4, %sw.bb1 ], [ %conv, %sw.bb ], [ 0.000000e+00, %entry ]
523 ret double %retval.0
524 }
525
526 ; ERRORS-NOT: ICE translation error
527 ; DUMP-NOT: SZ
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698