summaryrefslogtreecommitdiff
path: root/test/llvm_autogenerated/switch.s
blob: 4bacc6e78ece16abdbfa2555311131cf00c48863 (plain)
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