1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
.text
.file "/s/llvm/llvm/test/CodeGen/WebAssembly/switch.ll"
.globl bar32
.type bar32,@function
bar32:
.param i32
block
i32.const $push0=, 23
i32.gt_u $push1=, $0, $pop0
br_if 0, $pop1
block
block
block
block
block
block
br_table $0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 4, 5, 0
.LBB0_2:
end_block
call foo0@FUNCTION
br 5
.LBB0_3:
end_block
call foo1@FUNCTION
br 4
.LBB0_4:
end_block
call foo2@FUNCTION
br 3
.LBB0_5:
end_block
call foo3@FUNCTION
br 2
.LBB0_6:
end_block
call foo4@FUNCTION
br 1
.LBB0_7:
end_block
call foo5@FUNCTION
.LBB0_8:
end_block
return
.endfunc
.Lfunc_end0:
.size bar32, .Lfunc_end0-bar32
.globl bar64
.type bar64,@function
bar64:
.param i64
block
i64.const $push1=, 23
i64.gt_u $push2=, $0, $pop1
br_if 0, $pop2
block
block
block
block
block
block
i32.wrap/i64 $push0=, $0
br_table $pop0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 4, 5, 0
.LBB1_2:
end_block
call foo0@FUNCTION
br 5
.LBB1_3:
end_block
call foo1@FUNCTION
br 4
.LBB1_4:
end_block
call foo2@FUNCTION
br 3
.LBB1_5:
end_block
call foo3@FUNCTION
br 2
.LBB1_6:
end_block
call foo4@FUNCTION
br 1
.LBB1_7:
end_block
call foo5@FUNCTION
.LBB1_8:
end_block
return
.endfunc
.Lfunc_end1:
.size bar64, .Lfunc_end1-bar64
|