forked from WebAssembly/binaryen
/
ashldi-1.c.s
143 lines (140 loc) · 5.84 KB
/
ashldi-1.c.s
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
.text
.file "/usr/local/google/home/dschuff/s/wasm-waterfall/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/ashldi-1.c"
.section .text.main,"ax",@progbits
.hidden main
.globl main
.type main,@function
main: # @main
.result i32
.local i64, i32, i32
# BB#0: # %entry
i64.const $0=, 0
i32.const $2=, .Lswitch.table
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
block
loop # label1:
i64.const $push6=, 81985529216486895
i64.shl $push0=, $pop6, $0
i64.load $push1=, 0($2)
i64.ne $push2=, $pop0, $pop1
br_if 1, $pop2 # 1: down to label0
# BB#2: # %for.cond
# in Loop: Header=BB0_1 Depth=1
i32.const $push11=, 8
i32.add $2=, $2, $pop11
i64.const $push10=, 1
i64.add $push9=, $0, $pop10
tee_local $push8=, $0=, $pop9
i64.const $push7=, 64
i64.lt_s $push3=, $pop8, $pop7
br_if 0, $pop3 # 0: up to label1
# BB#3: # %constant_shift.exit.preheader
end_loop
i32.const $2=, 0
i32.const $1=, .Lswitch.table
.LBB0_4: # %constant_shift.exit
# =>This Inner Loop Header: Depth=1
block
loop # label3:
i32.const $push12=, 1
i32.eqz $push18=, $pop12
br_if 1, $pop18 # 1: down to label2
# BB#5: # %for.cond2
# in Loop: Header=BB0_4 Depth=1
i32.const $push17=, 8
i32.add $1=, $1, $pop17
i32.const $push16=, 1
i32.add $push15=, $2, $pop16
tee_local $push14=, $2=, $pop15
i32.const $push13=, 63
i32.le_s $push4=, $pop14, $pop13
br_if 0, $pop4 # 0: up to label3
# BB#6: # %for.end13
end_loop
i32.const $push5=, 0
call exit@FUNCTION, $pop5
unreachable
.LBB0_7: # %if.then9
end_block # label2:
call abort@FUNCTION
unreachable
.LBB0_8: # %if.then
end_block # label0:
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
.type .Lswitch.table,@object # @switch.table
.section .rodata..Lswitch.table,"a",@progbits
.p2align 4
.Lswitch.table:
.int64 81985529216486895 # 0x123456789abcdef
.int64 163971058432973790 # 0x2468acf13579bde
.int64 327942116865947580 # 0x48d159e26af37bc
.int64 655884233731895160 # 0x91a2b3c4d5e6f78
.int64 1311768467463790320 # 0x123456789abcdef0
.int64 2623536934927580640 # 0x2468acf13579bde0
.int64 5247073869855161280 # 0x48d159e26af37bc0
.int64 -7952596333999229056 # 0x91a2b3c4d5e6f780
.int64 2541551405711093504 # 0x23456789abcdef00
.int64 5083102811422187008 # 0x468acf13579bde00
.int64 -8280538450865177600 # 0x8d159e26af37bc00
.int64 1885667171979196416 # 0x1a2b3c4d5e6f7800
.int64 3771334343958392832 # 0x3456789abcdef000
.int64 7542668687916785664 # 0x68acf13579bde000
.int64 -3361406697875980288 # 0xd159e26af37bc000
.int64 -6722813395751960576 # 0xa2b3c4d5e6f78000
.int64 5001117282205630464 # 0x456789abcdef0000
.int64 -8444509509298290688 # 0x8acf13579bde0000
.int64 1557725055112970240 # 0x159e26af37bc0000
.int64 3115450110225940480 # 0x2b3c4d5e6f780000
.int64 6230900220451880960 # 0x56789abcdef00000
.int64 -5984943632805789696 # 0xacf13579bde00000
.int64 6476856808097972224 # 0x59e26af37bc00000
.int64 -5493030457513607168 # 0xb3c4d5e6f7800000
.int64 7460683158682337280 # 0x6789abcdef000000
.int64 -3525377756344877056 # 0xcf13579bde000000
.int64 -7050755512689754112 # 0x9e26af37bc000000
.int64 4345233048330043392 # 0x3c4d5e6f78000000
.int64 8690466096660086784 # 0x789abcdef0000000
.int64 -1065811880389378048 # 0xf13579bde0000000
.int64 -2131623760778756096 # 0xe26af37bc0000000
.int64 -4263247521557512192 # 0xc4d5e6f780000000
.int64 -8526495043115024384 # 0x89abcdef00000000
.int64 1393753987479502848 # 0x13579bde00000000
.int64 2787507974959005696 # 0x26af37bc00000000
.int64 5575015949918011392 # 0x4d5e6f7800000000
.int64 -7296712173873528832 # 0x9abcdef000000000
.int64 3853319725962493952 # 0x3579bde000000000
.int64 7706639451924987904 # 0x6af37bc000000000
.int64 -3033465169859575808 # 0xd5e6f78000000000
.int64 -6066930339719151616 # 0xabcdef0000000000
.int64 6312883394271248384 # 0x579bde0000000000
.int64 -5820977285167054848 # 0xaf37bc0000000000
.int64 6804789503375441920 # 0x5e6f780000000000
.int64 -4837165066958667776 # 0xbcdef00000000000
.int64 8772413939792216064 # 0x79bde00000000000
.int64 -901916194125119488 # 0xf37bc00000000000
.int64 -1803832388250238976 # 0xe6f7800000000000
.int64 -3607664776500477952 # 0xcdef000000000000
.int64 -7215329553000955904 # 0x9bde000000000000
.int64 4016084967707639808 # 0x37bc000000000000
.int64 8032169935415279616 # 0x6f78000000000000
.int64 -2382404202878992384 # 0xdef0000000000000
.int64 -4764808405757984768 # 0xbde0000000000000
.int64 8917127262193582080 # 0x7bc0000000000000
.int64 -612489549322387456 # 0xf780000000000000
.int64 -1224979098644774912 # 0xef00000000000000
.int64 -2449958197289549824 # 0xde00000000000000
.int64 -4899916394579099648 # 0xbc00000000000000
.int64 8646911284551352320 # 0x7800000000000000
.int64 -1152921504606846976 # 0xf000000000000000
.int64 -2305843009213693952 # 0xe000000000000000
.int64 -4611686018427387904 # 0xc000000000000000
.int64 -9223372036854775808 # 0x8000000000000000
.size .Lswitch.table, 512
.ident "clang version 4.0.0 (trunk 283460) (llvm/trunk 283507)"
.functype abort, void
.functype exit, void, i32