aboutsummaryrefslogtreecommitdiffstats
path: root/code/tools/lcc/sparc/solaris/tst/incr.sbk
blob: a7427e5ba84d9b71748678ea65492e79d176d779 (plain)
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
.global main
.section ".text"
.align 4
main:
mov %g0,%o0
.L1:
retl; nop
.type main,#function
.size main,.-main
.global memchar
.align 4
memchar:
save %sp,-104,%sp
ld [%fp+-8],%i5
add %i5,1,%i4
st %i4,[%fp+-8]
ldsb [%i5],%i5
stb %i5,[%fp+-1]
ld [%fp+-8],%i5
add %i5,1,%i5
st %i5,[%fp+-8]
ldsb [%i5],%i5
stb %i5,[%fp+-1]
ld [%fp+-8],%i5
add %i5,-1,%i4
st %i4,[%fp+-8]
ldsb [%i5],%i5
stb %i5,[%fp+-1]
ld [%fp+-8],%i5
add %i5,-1,%i5
st %i5,[%fp+-8]
ldsb [%i5],%i5
stb %i5,[%fp+-1]
mov %g0,%i0
.L2:
ret; restore
.type memchar,#function
.size memchar,.-memchar
.global memint
.align 4
memint:
save %sp,-104,%sp
ld [%fp+-8],%i5
add %i5,4,%i4
st %i4,[%fp+-8]
ld [%i5],%i5
st %i5,[%fp+-4]
ld [%fp+-8],%i5
add %i5,4,%i5
st %i5,[%fp+-8]
ld [%i5],%i5
st %i5,[%fp+-4]
ld [%fp+-8],%i5
add %i5,-4,%i4
st %i4,[%fp+-8]
ld [%i5],%i5
st %i5,[%fp+-4]
ld [%fp+-8],%i5
add %i5,-4,%i5
st %i5,[%fp+-8]
ld [%i5],%i5
st %i5,[%fp+-4]
mov %g0,%i0
.L3:
ret; restore
.type memint,#function
.size memint,.-memint
.global regchar
.align 4
regchar:
mov %o4,%o3
add %o3,1,%o4
ldsb [%o3],%o5
add %o4,1,%o3
mov %o3,%o4
ldsb [%o3],%o5
mov %o4,%o3
add %o3,-1,%o4
ldsb [%o3],%o5
add %o4,-1,%o3
mov %o3,%o4
ldsb [%o3],%o5
mov %g0,%o0
.L4:
retl; nop
.type regchar,#function
.size regchar,.-regchar
.global regint
.align 4
regint:
mov %o4,%o3
add %o3,4,%o4
ld [%o3],%o5
add %o4,4,%o3
mov %o3,%o4
ld [%o3],%o5
mov %o4,%o3
add %o3,-4,%o4
ld [%o3],%o5
add %o4,-4,%o3
mov %o3,%o4
ld [%o3],%o5
mov %g0,%o0
.L5:
retl; nop
.type regint,#function
.size regint,.-regint