]> git.proxmox.com Git - rustc.git/blob - src/binaryen/test/torture-s/pr51933.c.s
New upstream version 1.23.0+dfsg1
[rustc.git] / src / binaryen / test / torture-s / pr51933.c.s
1 .text
2 .file "pr51933.c"
3 .section .text.foo,"ax",@progbits
4 .hidden foo # -- Begin function foo
5 .globl foo
6 .type foo,@function
7 foo: # @foo
8 # BB#0: # %entry
9 #APP
10 #NO_APP
11 # fallthrough-return
12 .endfunc
13 .Lfunc_end0:
14 .size foo, .Lfunc_end0-foo
15 # -- End function
16 .section .text.bar,"ax",@progbits
17 .hidden bar # -- Begin function bar
18 .globl bar
19 .type bar,@function
20 bar: # @bar
21 .param i32, i32, i32
22 .result i32
23 .local i32, i32, i32
24 # BB#0: # %entry
25 block
26 i32.const $push0=, 0
27 i32.load8_u $push1=, v1($pop0)
28 br_if 0, $pop1 # 0: down to label0
29 # BB#1: # %if.then
30 call foo@FUNCTION
31 .LBB1_2: # %if.end
32 end_block # label0:
33 block
34 i32.const $push11=, 1
35 i32.lt_s $push2=, $0, $pop11
36 br_if 0, $pop2 # 0: down to label1
37 # BB#3: # %for.body.preheader
38 copy_local $4=, $0
39 copy_local $5=, $2
40 .LBB1_4: # %for.body
41 # =>This Inner Loop Header: Depth=1
42 loop # label2:
43 i32.load16_u $push22=, 0($1)
44 tee_local $push21=, $3=, $pop22
45 i32.const $push20=, v2
46 i32.add $push4=, $pop21, $pop20
47 i32.const $push19=, 255
48 i32.and $push5=, $3, $pop19
49 i32.const $push18=, v3
50 i32.add $push6=, $pop5, $pop18
51 i32.const $push17=, 256
52 i32.lt_u $push3=, $3, $pop17
53 i32.select $push7=, $pop4, $pop6, $pop3
54 i32.load8_u $push8=, 0($pop7)
55 i32.store8 0($5), $pop8
56 i32.const $push16=, 1
57 i32.add $5=, $5, $pop16
58 i32.const $push15=, 2
59 i32.add $1=, $1, $pop15
60 i32.const $push14=, -1
61 i32.add $push13=, $4, $pop14
62 tee_local $push12=, $4=, $pop13
63 br_if 0, $pop12 # 0: up to label2
64 .LBB1_5: # %for.end
65 end_loop
66 end_block # label1:
67 i32.add $push9=, $2, $0
68 i32.const $push10=, 0
69 i32.store8 0($pop9), $pop10
70 copy_local $push23=, $0
71 # fallthrough-return: $pop23
72 .endfunc
73 .Lfunc_end1:
74 .size bar, .Lfunc_end1-bar
75 # -- End function
76 .section .text.main,"ax",@progbits
77 .hidden main # -- Begin function main
78 .globl main
79 .type main,@function
80 main: # @main
81 .result i32
82 .local i32, i32, i32
83 # BB#0: # %entry
84 i32.const $push16=, 0
85 i32.const $push14=, 0
86 i32.load $push13=, __stack_pointer($pop14)
87 i32.const $push15=, 80
88 i32.sub $push25=, $pop13, $pop15
89 tee_local $push24=, $2=, $pop25
90 i32.store __stack_pointer($pop16), $pop24
91 i32.const $1=, 0
92 .LBB2_1: # %for.body
93 # =>This Inner Loop Header: Depth=1
94 loop # label3:
95 i32.const $push31=, v3
96 i32.add $push0=, $1, $pop31
97 i32.const $push30=, 1
98 i32.add $push29=, $1, $pop30
99 tee_local $push28=, $0=, $pop29
100 i32.store8 0($pop0), $pop28
101 i32.const $push27=, v2
102 i32.add $push1=, $1, $pop27
103 i32.store8 0($pop1), $1
104 copy_local $1=, $0
105 i32.const $push26=, 256
106 i32.ne $push2=, $0, $pop26
107 br_if 0, $pop2 # 0: up to label3
108 # BB#2: # %for.end
109 end_loop
110 i64.const $push3=, 28147922879250529
111 i64.store 0($2), $pop3
112 i32.const $push4=, 113
113 i32.store 32($2), $pop4
114 i64.const $push5=, 29279337625026661
115 i64.store 8($2), $pop5
116 i64.const $push6=, 2336242766266892393
117 i64.store 16($2), $pop6
118 i64.const $push7=, 391813644329812077
119 i64.store 24($2), $pop7
120 call foo@FUNCTION
121 i32.const $push8=, 17
122 i32.const $push20=, 48
123 i32.add $push21=, $2, $pop20
124 i32.call $drop=, bar@FUNCTION, $pop8, $2, $pop21
125 block
126 i32.const $push22=, 48
127 i32.add $push23=, $2, $pop22
128 i32.const $push10=, .L.str
129 i32.const $push9=, 18
130 i32.call $push11=, memcmp@FUNCTION, $pop23, $pop10, $pop9
131 br_if 0, $pop11 # 0: down to label4
132 # BB#3: # %if.end
133 i32.const $push19=, 0
134 i32.const $push17=, 80
135 i32.add $push18=, $2, $pop17
136 i32.store __stack_pointer($pop19), $pop18
137 i32.const $push12=, 0
138 return $pop12
139 .LBB2_4: # %if.then
140 end_block # label4:
141 call abort@FUNCTION
142 unreachable
143 .endfunc
144 .Lfunc_end2:
145 .size main, .Lfunc_end2-main
146 # -- End function
147 .type v1,@object # @v1
148 .section .bss.v1,"aw",@nobits
149 v1:
150 .int8 0 # 0x0
151 .size v1, 1
152
153 .type v2,@object # @v2
154 .section .bss.v2,"aw",@nobits
155 .p2align 4
156 v2:
157 .skip 256
158 .size v2, 256
159
160 .type v3,@object # @v3
161 .section .bss.v3,"aw",@nobits
162 .p2align 4
163 v3:
164 .skip 256
165 .size v3, 256
166
167 .type .L.str,@object # @.str
168 .section .rodata.str1.1,"aMS",@progbits,1
169 .L.str:
170 .asciz "abcdeghhijkmmnoqq"
171 .size .L.str, 18
172
173
174 .ident "clang version 6.0.0 (https://llvm.googlesource.com/clang.git a1774cccdccfa673c057f93ccf23bc2d8cb04932) (https://llvm.googlesource.com/llvm.git fc50e1c6121255333bc42d6faf2b524c074eae25)"
175 .functype memcmp, i32, i32, i32, i32
176 .functype abort, void