]> git.proxmox.com Git - rustc.git/blob - src/binaryen/test/torture-s/pr59643.c.s
New upstream version 1.23.0+dfsg1
[rustc.git] / src / binaryen / test / torture-s / pr59643.c.s
1 .text
2 .file "pr59643.c"
3 .section .text.foo,"ax",@progbits
4 .hidden foo # -- Begin function foo
5 .globl foo
6 .type foo,@function
7 foo: # @foo
8 .param i32, i32, i32, f64, f64, i32
9 .local i32, i32, f64, f64
10 # BB#0: # %entry
11 block
12 i32.const $push0=, 3
13 i32.lt_s $push1=, $5, $pop0
14 br_if 0, $pop1 # 0: down to label0
15 # BB#1: # %for.body.lr.ph
16 i32.const $push2=, 16
17 i32.add $6=, $0, $pop2
18 i32.const $push3=, -2
19 i32.add $7=, $5, $pop3
20 i32.const $push13=, 8
21 i32.add $5=, $2, $pop13
22 i32.const $push12=, 8
23 i32.add $1=, $1, $pop12
24 f64.load $8=, 8($0)
25 f64.load $9=, 0($0)
26 .LBB0_2: # %for.body
27 # =>This Inner Loop Header: Depth=1
28 loop # label1:
29 i32.const $push24=, -8
30 i32.add $push11=, $6, $pop24
31 f64.mul $push4=, $8, $4
32 f64.load $push6=, 0($1)
33 f64.load $push5=, 0($5)
34 f64.add $push7=, $pop6, $pop5
35 f64.add $push8=, $pop7, $9
36 f64.load $push23=, 0($6)
37 tee_local $push22=, $8=, $pop23
38 f64.add $push9=, $pop8, $pop22
39 f64.mul $push10=, $pop9, $3
40 f64.add $push21=, $pop4, $pop10
41 tee_local $push20=, $9=, $pop21
42 f64.store 0($pop11), $pop20
43 i32.const $push19=, 8
44 i32.add $6=, $6, $pop19
45 i32.const $push18=, 8
46 i32.add $5=, $5, $pop18
47 i32.const $push17=, 8
48 i32.add $1=, $1, $pop17
49 i32.const $push16=, -1
50 i32.add $push15=, $7, $pop16
51 tee_local $push14=, $7=, $pop15
52 br_if 0, $pop14 # 0: up to label1
53 .LBB0_3: # %for.end
54 end_loop
55 end_block # label0:
56 # fallthrough-return
57 .endfunc
58 .Lfunc_end0:
59 .size foo, .Lfunc_end0-foo
60 # -- End function
61 .section .text.main,"ax",@progbits
62 .hidden main # -- Begin function main
63 .globl main
64 .type main,@function
65 main: # @main
66 .result i32
67 .local i32, f64, i32, i32, i32, i32, i32
68 # BB#0: # %entry
69 i32.const $push19=, 0
70 i32.const $push17=, 0
71 i32.load $push16=, __stack_pointer($pop17)
72 i32.const $push18=, 768
73 i32.sub $push34=, $pop16, $pop18
74 tee_local $push33=, $6=, $pop34
75 i32.store __stack_pointer($pop19), $pop33
76 i32.const $5=, 0
77 i32.const $push23=, 512
78 i32.add $push24=, $6, $pop23
79 copy_local $4=, $pop24
80 i32.const $push25=, 256
81 i32.add $push26=, $6, $pop25
82 copy_local $3=, $pop26
83 copy_local $2=, $6
84 .LBB1_1: # %for.body
85 # =>This Inner Loop Header: Depth=1
86 loop # label2:
87 i32.const $push48=, 7
88 i32.and $push47=, $5, $pop48
89 tee_local $push46=, $0=, $pop47
90 f64.convert_s/i32 $push0=, $pop46
91 f64.store 0($2), $pop0
92 i32.const $push45=, -4
93 i32.add $push1=, $0, $pop45
94 f64.convert_s/i32 $push2=, $pop1
95 f64.store 0($3), $pop2
96 i32.const $push44=, 3
97 i32.and $push3=, $5, $pop44
98 f64.convert_s/i32 $push43=, $pop3
99 tee_local $push42=, $1=, $pop43
100 f64.add $push4=, $pop42, $1
101 f64.store 0($4), $pop4
102 i32.const $push41=, 8
103 i32.add $2=, $2, $pop41
104 i32.const $push40=, 8
105 i32.add $3=, $3, $pop40
106 i32.const $push39=, 8
107 i32.add $4=, $4, $pop39
108 i32.const $push38=, 1
109 i32.add $push37=, $5, $pop38
110 tee_local $push36=, $5=, $pop37
111 i32.const $push35=, 32
112 i32.ne $push5=, $pop36, $pop35
113 br_if 0, $pop5 # 0: up to label2
114 # BB#2: # %for.end
115 end_loop
116 i32.const $push27=, 512
117 i32.add $push28=, $6, $pop27
118 i32.const $push29=, 256
119 i32.add $push30=, $6, $pop29
120 f64.const $push8=, 0x1p1
121 f64.const $push7=, 0x1.8p1
122 i32.const $push6=, 32
123 call foo@FUNCTION, $pop28, $pop30, $6, $pop8, $pop7, $pop6
124 i32.const $4=, -1
125 i32.const $5=, 0
126 .LBB1_3: # %for.body12
127 # =>This Inner Loop Header: Depth=1
128 block
129 loop # label4:
130 i32.const $push31=, 512
131 i32.add $push32=, $6, $pop31
132 i32.add $push11=, $pop32, $5
133 f64.load $push12=, 0($pop11)
134 i32.const $push49=, expected
135 i32.add $push9=, $5, $pop49
136 f64.load $push10=, 0($pop9)
137 f64.ne $push13=, $pop12, $pop10
138 br_if 1, $pop13 # 1: down to label3
139 # BB#4: # %for.cond9
140 # in Loop: Header=BB1_3 Depth=1
141 i32.const $push54=, 8
142 i32.add $5=, $5, $pop54
143 i32.const $push53=, 1
144 i32.add $push52=, $4, $pop53
145 tee_local $push51=, $4=, $pop52
146 i32.const $push50=, 30
147 i32.le_u $push14=, $pop51, $pop50
148 br_if 0, $pop14 # 0: up to label4
149 # BB#5: # %for.end19
150 end_loop
151 i32.const $push22=, 0
152 i32.const $push20=, 768
153 i32.add $push21=, $6, $pop20
154 i32.store __stack_pointer($pop22), $pop21
155 i32.const $push15=, 0
156 return $pop15
157 .LBB1_6: # %if.then
158 end_block # label3:
159 call abort@FUNCTION
160 unreachable
161 .endfunc
162 .Lfunc_end1:
163 .size main, .Lfunc_end1-main
164 # -- End function
165 .hidden expected # @expected
166 .type expected,@object
167 .section .data.expected,"aw",@progbits
168 .globl expected
169 .p2align 4
170 expected:
171 .int64 0 # double 0
172 .int64 4621819117588971520 # double 10
173 .int64 4631389266797133824 # double 44
174 .int64 4637440978796412928 # double 110
175 .int64 4642366790888849408 # double 232
176 .int64 4647327787353374720 # double 490
177 .int64 4652183230701633536 # double 1020
178 .int64 4656787985398759424 # double 2078
179 .int64 4661287186979618816 # double 4152
180 .int64 4665796284165128192 # double 8314
181 .int64 4670306480862265344 # double 16652
182 .int64 4674813104146612224 # double 33326
183 .int64 4679317528407703552 # double 66664
184 .int64 4683822021388271616 # double 133354
185 .int64 4688326308210409472 # double 266748
186 .int64 4692830234255294464 # double 533534
187 .int64 4697333816702795776 # double 1067064
188 .int64 4701837437805002752 # double 2134138
189 .int64 4706341063202177024 # double 4268300
190 .int64 4710844674640707584 # double 8536622
191 .int64 4715348277489303552 # double 17073256
192 .int64 4719851880606334976 # double 34146538
193 .int64 4724355482918060032 # double 68293116
194 .int64 4728859083820498944 # double 136586270
195 .int64 4733362683380760576 # double 273172536
196 .int64 4737866283092017152 # double 546345082
197 .int64 4742369882820050944 # double 1092690188
198 .int64 4746873482493558784 # double 2185380398
199 .int64 4751377082133512192 # double 4370760808
200 .int64 4755880681774514176 # double 8741521642
201 .int64 4760384281412370432 # double 17483043324
202 .int64 4618441417868443648 # double 6
203 .size expected, 256
204
205
206 .ident "clang version 6.0.0 (https://llvm.googlesource.com/clang.git a1774cccdccfa673c057f93ccf23bc2d8cb04932) (https://llvm.googlesource.com/llvm.git fc50e1c6121255333bc42d6faf2b524c074eae25)"
207 .functype abort, void