forked from WebAssembly/binaryen
-
Notifications
You must be signed in to change notification settings - Fork 0
/
20020129-1.c.s
127 lines (122 loc) · 3.41 KB
/
20020129-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
.text
.file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/20020129-1.c"
.section .text.foo,"ax",@progbits
.hidden foo
.globl foo
.type foo,@function
foo: # @foo
.param i32, i32
.local i32, i32
# BB#0: # %entry
i32.load $3=, 28($1)
block
block
block
i32.load $push0=, 28($0)
i32.eqz $push20=, $pop0
br_if 0, $pop20 # 0: down to label2
# BB#1: # %if.end
i32.eqz $push21=, $3
br_if 1, $pop21 # 1: down to label1
br 2 # 2: down to label0
.LBB0_2: # %if.then
end_block # label2:
i32.const $push1=, 28
i32.add $push2=, $0, $pop1
i32.store $2=, 0($pop2), $3
i32.const $push13=, 28
i32.add $push3=, $1, $pop13
i32.const $push4=, 0
i32.store $drop=, 0($pop3), $pop4
i32.eqz $push22=, $2
br_if 0, $pop22 # 0: down to label1
.LBB0_3: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label3:
i32.store $drop=, 4($3), $0
i32.load $push15=, 0($3)
tee_local $push14=, $3=, $pop15
br_if 0, $pop14 # 0: up to label3
.LBB0_4: # %if.end7
end_loop # label4:
end_block # label1:
i32.load $3=, 12($1)
block
i32.load $push5=, 12($0)
i32.const $push16=, -1
i32.eq $push6=, $pop5, $pop16
br_if 0, $pop6 # 0: down to label5
# BB#5: # %if.end22
i32.const $push17=, -1
i32.ne $push7=, $3, $pop17
br_if 1, $pop7 # 1: down to label0
# BB#6: # %if.end27
return
.LBB0_7: # %if.end22.thread
end_block # label5:
i32.load $push8=, 16($1)
i32.store $drop=, 16($0), $pop8
i32.const $push9=, 12
i32.add $push10=, $0, $pop9
i32.store $drop=, 0($pop10), $3
i32.const $push11=, 0
i32.store $drop=, 16($1), $pop11
i32.const $push19=, 12
i32.add $push12=, $1, $pop19
i32.const $push18=, -1
i32.store $drop=, 0($pop12), $pop18
return
.LBB0_8: # %if.then26
end_block # label0:
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
.section .text.main,"ax",@progbits
.hidden main
.globl main
.type main,@function
main: # @main
.result i32
# BB#0: # %entry
i32.const $push1=, 0
i32.const $push0=, 145
i32.store $drop=, y+12($pop1), $pop0
i32.const $push10=, 0
i32.const $push2=, 6
i32.store $drop=, y($pop10), $pop2
i32.const $push9=, 0
i32.const $push3=, 2448
i32.store $drop=, y+16($pop9), $pop3
i32.const $push8=, 0
i32.const $push4=, -1
i32.store $drop=, x+12($pop8), $pop4
i32.const $push6=, x
i32.const $push5=, y
call foo@FUNCTION, $pop6, $pop5
i32.const $push7=, 0
call exit@FUNCTION, $pop7
unreachable
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
.hidden y # @y
.type y,@object
.section .bss.y,"aw",@nobits
.globl y
.p2align 2
y:
.skip 32
.size y, 32
.hidden x # @x
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
.p2align 2
x:
.skip 32
.size x, 32
.ident "clang version 3.9.0 "
.functype abort, void
.functype exit, void, i32