3 .section .text.FFmul,"ax",@progbits
4 .hidden FFmul # -- Begin function FFmul
11 copy_local $push0=, $0
12 # fallthrough-return: $pop0
15 .size FFmul, .Lfunc_end0-FFmul
17 .section .text.DUPFFdeg,"ax",@progbits
18 .hidden DUPFFdeg # -- Begin function DUPFFdeg
20 .type DUPFFdeg,@function
25 i32.load $push0=, 4($0)
26 # fallthrough-return: $pop0
29 .size DUPFFdeg, .Lfunc_end1-DUPFFdeg
31 .section .text.DUPFFnew,"ax",@progbits
32 .hidden DUPFFnew # -- Begin function DUPFFnew
34 .type DUPFFnew,@function
41 i32.call $push12=, malloc@FUNCTION, $pop0
42 tee_local $push11=, $1=, $pop12
44 i32.store 8($pop11), $pop1
47 i32.lt_s $push2=, $0, $pop10
48 br_if 0, $pop2 # 0: down to label0
51 i32.add $push4=, $1, $pop3
53 i32.add $push6=, $0, $pop5
55 i32.call $push8=, calloc@FUNCTION, $pop6, $pop7
56 i32.store 0($pop4), $pop8
60 i32.store 4($1), $pop9
62 copy_local $push13=, $1
63 # fallthrough-return: $pop13
66 .size DUPFFnew, .Lfunc_end2-DUPFFnew
68 .section .text.DUPFFfree,"ax",@progbits
69 .hidden DUPFFfree # -- Begin function DUPFFfree
71 .type DUPFFfree,@function
72 DUPFFfree: # @DUPFFfree
78 .size DUPFFfree, .Lfunc_end3-DUPFFfree
80 .section .text.DUPFFswap,"ax",@progbits
81 .hidden DUPFFswap # -- Begin function DUPFFswap
83 .type DUPFFswap,@function
84 DUPFFswap: # @DUPFFswap
90 .size DUPFFswap, .Lfunc_end4-DUPFFswap
92 .section .text.DUPFFcopy,"ax",@progbits
93 .hidden DUPFFcopy # -- Begin function DUPFFcopy
95 .type DUPFFcopy,@function
96 DUPFFcopy: # @DUPFFcopy
100 copy_local $push0=, $0
101 # fallthrough-return: $pop0
104 .size DUPFFcopy, .Lfunc_end5-DUPFFcopy
106 .section .text.DUPFFshift_add,"ax",@progbits
107 .hidden DUPFFshift_add # -- Begin function DUPFFshift_add
108 .globl DUPFFshift_add
109 .type DUPFFshift_add,@function
110 DUPFFshift_add: # @DUPFFshift_add
111 .param i32, i32, i32, i32
116 .size DUPFFshift_add, .Lfunc_end6-DUPFFshift_add
118 .section .text.DUPFFexgcd,"ax",@progbits
119 .hidden DUPFFexgcd # -- Begin function DUPFFexgcd
121 .type DUPFFexgcd,@function
122 DUPFFexgcd: # @DUPFFexgcd
123 .param i32, i32, i32, i32
125 .local i32, i32, i32, i32, i32
127 i32.const $push20=, 0
128 i32.const $push18=, 0
129 i32.load $push17=, __stack_pointer($pop18)
130 i32.const $push19=, 16
131 i32.sub $push25=, $pop17, $pop19
132 tee_local $push24=, $8=, $pop25
133 i32.store __stack_pointer($pop20), $pop24
136 .LBB7_1: # %tailrecurse
137 # =>This Inner Loop Header: Depth=1
145 i32.const $push30=, .L.str
146 i32.call $drop=, printf@FUNCTION, $pop30, $8
149 i32.load $push29=, 4($3)
150 tee_local $push28=, $6=, $pop29
151 i32.load $push27=, 4($5)
152 tee_local $push26=, $7=, $pop27
153 i32.lt_s $push1=, $pop28, $pop26
154 br_if 0, $pop1 # 0: up to label1
159 i32.ne $push3=, $6, $pop2
160 br_if 0, $pop3 # 0: down to label2
163 i32.ne $push5=, $7, $pop4
164 br_if 0, $pop5 # 0: down to label2
167 i32.load $push6=, 8($3)
168 i32.load $push7=, 0($pop6)
169 i32.eqz $push43=, $pop7
170 br_if 0, $pop43 # 0: down to label3
171 # BB#5: # %DUPFFnew.exit
172 i32.const $push8=, 12
173 i32.call $push41=, malloc@FUNCTION, $pop8
174 tee_local $push40=, $6=, $pop41
176 i32.const $push39=, 4
177 i32.call $push38=, calloc@FUNCTION, $pop9, $pop39
178 tee_local $push37=, $2=, $pop38
179 i32.store 8($pop40), $pop37
180 i32.const $push10=, 1
181 i32.store 0($2), $pop10
182 i64.const $push11=, 1
183 i64.store 0($6):p2align=2, $pop11
184 i32.const $push36=, 12
185 i32.call $2=, malloc@FUNCTION, $pop36
186 i32.const $push12=, 3
187 i32.const $push35=, 4
188 i32.call $7=, calloc@FUNCTION, $pop12, $pop35
189 i64.const $push13=, -4294967294
190 i64.store 0($2):p2align=2, $pop13
193 i32.const $push34=, 4
194 i32.add $push14=, $5, $pop34
195 i32.load $push33=, 0($pop14)
196 tee_local $push32=, $5=, $pop33
197 i32.const $push31=, 1
198 i32.lt_s $push15=, $pop32, $pop31
199 br_if 0, $pop15 # 0: down to label4
200 # BB#6: # %while.body.lr.ph
201 i32.const $push42=, 4
202 i32.add $push16=, $3, $pop42
203 i32.load $push0=, 0($pop16)
204 i32.lt_s $3=, $pop0, $5
205 .LBB7_7: # %while.body
206 # =>This Inner Loop Header: Depth=1
208 br_if 0, $3 # 0: up to label5
209 .LBB7_8: # %while.cond40
210 # =>This Inner Loop Header: Depth=1
213 br 0 # 0: up to label6
221 i32.const $push23=, 0
222 i32.const $push21=, 16
223 i32.add $push22=, $8, $pop21
224 i32.store __stack_pointer($pop23), $pop22
226 .LBB7_11: # %if.then10
232 .size DUPFFexgcd, .Lfunc_end7-DUPFFexgcd
234 .section .text.main,"ax",@progbits
235 .hidden main # -- Begin function main
240 .local i32, i32, i32, i32
242 i32.const $push13=, 0
243 i32.const $push11=, 0
244 i32.load $push10=, __stack_pointer($pop11)
245 i32.const $push12=, 16
246 i32.sub $push33=, $pop10, $pop12
247 tee_local $push32=, $3=, $pop33
248 i32.store __stack_pointer($pop13), $pop32
249 i32.const $push0=, 12
250 i32.call $push31=, malloc@FUNCTION, $pop0
251 tee_local $push30=, $0=, $pop31
254 i32.call $push29=, calloc@FUNCTION, $pop2, $pop1
255 tee_local $push28=, $1=, $pop29
256 i32.store 8($pop30), $pop28
258 i32.store 4($1), $pop3
259 i64.const $push4=, 4294967297
260 i64.store 0($0):p2align=2, $pop4
261 i32.const $push27=, 12
262 i32.call $push26=, malloc@FUNCTION, $pop27
263 tee_local $push25=, $1=, $pop26
265 i32.const $push24=, 4
266 i32.call $push23=, calloc@FUNCTION, $pop5, $pop24
267 tee_local $push22=, $2=, $pop23
268 i32.store 8($pop25), $pop22
269 i32.const $push21=, 1
270 i32.store 8($2), $pop21
271 i64.const $push6=, 8589934594
272 i64.store 0($1):p2align=2, $pop6
273 i64.const $push7=, 8589934593
274 i64.store 0($3), $pop7
275 i32.const $push8=, .L.str.1
276 i32.call $drop=, printf@FUNCTION, $pop8, $3
277 i32.const $push17=, 12
278 i32.add $push18=, $3, $pop17
279 i32.const $push19=, 8
280 i32.add $push20=, $3, $pop19
281 i32.call $drop=, DUPFFexgcd@FUNCTION, $pop18, $pop20, $0, $1
282 i32.const $push16=, 0
283 i32.const $push14=, 16
284 i32.add $push15=, $3, $pop14
285 i32.store __stack_pointer($pop16), $pop15
287 # fallthrough-return: $pop9
290 .size main, .Lfunc_end8-main
292 .type .L.str,@object # @.str
293 .section .rodata.str1.1,"aMS",@progbits,1
295 .asciz "DUPFFexgcd called on degrees %d and %d\n"
298 .type .L.str.1,@object # @.str.1
300 .asciz "calling DUPFFexgcd on degrees %d and %d\n"
304 .ident "clang version 6.0.0 (https://llvm.googlesource.com/clang.git a1774cccdccfa673c057f93ccf23bc2d8cb04932) (https://llvm.googlesource.com/llvm.git fc50e1c6121255333bc42d6faf2b524c074eae25)"
305 .functype malloc, i32, i32
306 .functype calloc, i32, i32, i32
307 .functype printf, i32, i32
308 .functype abort, void