lilium-voyager/code/tools/lcc/sparc/solaris/tst/spill.sbk
2005-10-04 15:18:22 +00:00

207 lines
2.7 KiB
Text

.global main
.section ".text"
.align 4
main:
mov %g0,%o0
.L1:
retl; nop
.type main,#function
.size main,.-main
.global f
.align 4
f:
save %sp,-96,%sp
call f; nop
mov %o0,%i5
call f; nop
add %i5,%o0,%i0
mov %g0,%i0
.L2:
ret; restore
.type f,#function
.size f,.-f
.global f2
.align 4
f2:
save %sp,-96,%sp
call f; nop
mov %o0,%i4
cmp %i0,0; be .L5; nop
call f; nop
mov %o0,%i3
mov %i3,%i5
ba .L6; nop
.L5:
set 1,%i5
.L6:
add %i4,%i5,%i0
mov %g0,%i0
.L3:
ret; restore
.type f2,#function
.size f2,.-f2
.global f3
.align 4
f3:
save %sp,-104,%sp
mov %g0,%i5
mov %g0,%i4
mov %g0,%i3
mov %g0,%i2
mov %g0,%l7
mov %g0,%l6
mov %g0,%l5
mov %g0,%l4
st %g0,[%fp+-4]
st %g0,[%fp+-8]
mov %i1,%l3
add %l3,4,%i1
cmp %i0,0; be .L9; nop
call f; nop
mov %o0,%l2
st %l2,[%fp+-12]
ba .L10; nop
.L9:
st %g0,[%fp+-12]
.L10:
ld [%fp+-12],%l2
st %l2,[%l3]
mov %g0,%i0
.L7:
ret; restore
.type f3,#function
.size f3,.-f3
.global f4
.align 4
f4:
save %sp,-96,%sp
mov %g0,%i5
mov %g0,%i4
mov %g0,%i3
mov %g0,%i2
mov %g0,%i1
mov %g0,%i0
set i,%l6
ld [%l6],%l6
sll %l6,3,%l5
set a,%l4
add %l5,%l4,%l4
ld2 [%l4],%f30
set b,%l4
add %l5,%l4,%l5
ld2 [%l5],%f28
set .L15,%l5
ld2 [%l5],%f26
faddd %f30,%f28,%f24
fcmped %f24,%f26; nop; fbue .L13; nop
cmp %l6,0; be .L13; nop
fsubd %f30,%f28,%f30
fcmped %f30,%f26; nop; fbue .L13; nop
set 1,%l7
ba .L14; nop
.L13:
mov %g0,%l7
.L14:
set i,%l6
st %l7,[%l6]
mov %g0,%i0
.L11:
ret; restore
.type f4,#function
.size f4,.-f4
.global f5
.align 4
f5:
save %sp,-96,%sp
set x,%i5
set k,%i4
ld [%i4],%i4
set m,%i3
ld [%i3],%i3
set A,%i2
ld [%i2],%i2
smul %i3,%i4,%i1
sll %i1,3,%i1
add %i1,%i2,%i1
set j,%i0
ld [%i0],%i0
smul %i3,%i0,%i3
sll %i3,3,%i3
add %i3,%i2,%i3
set n,%i2
ld [%i2],%i2
set B,%l7
ld [%l7],%l7
smul %i2,%i4,%i4
sll %i4,3,%i4
add %i4,%l7,%i4
smul %i2,%i0,%i2
sll %i2,3,%i2
add %i2,%l7,%i2
ld2 [%i1],%f30
ld2 [%i3],%f28
fmuld %f30,%f28,%f30
ld2 [%i4],%f28
ld2 [%i2],%f26
fmuld %f28,%f26,%f28
faddd %f30,%f28,%f30
st2 %f30,[%i5]
ld2 [%i1],%f30
ld2 [%i2],%f28
fmuld %f30,%f28,%f30
ld2 [%i4],%f28
ld2 [%i3],%f26
fmuld %f28,%f26,%f28
fsubd %f30,%f28,%f30
st2 %f30,[%i5]
mov %g0,%i0
.L16:
ret; restore
.type f5,#function
.size f5,.-f5
.section ".bss"
.global x
.type x,#object
.size x,8
.common x,8,8
.global B
.type B,#object
.size B,4
.common B,4,4
.global A
.type A,#object
.size A,4
.common A,4,4
.global n
.type n,#object
.size n,4
.common n,4,4
.global m
.type m,#object
.size m,4
.common m,4,4
.global k
.type k,#object
.size k,4
.common k,4,4
.global j
.type j,#object
.size j,4
.common j,4,4
.global i
.type i,#object
.size i,4
.common i,4,4
.global b
.type b,#object
.size b,80
.common b,80,8
.global a
.type a,#object
.size a,80
.common a,80,8
.section ".rodata"
.align 8
.L15:
.word 0x0
.word 0x0