2005-08-26 04:48:05 +00:00
|
|
|
.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
|