aboutsummaryrefslogtreecommitdiffstats
path: root/lcc/sparc/solaris/tst/spill.sbk
diff options
context:
space:
mode:
Diffstat (limited to 'lcc/sparc/solaris/tst/spill.sbk')
-rwxr-xr-xlcc/sparc/solaris/tst/spill.sbk207
1 files changed, 207 insertions, 0 deletions
diff --git a/lcc/sparc/solaris/tst/spill.sbk b/lcc/sparc/solaris/tst/spill.sbk
new file mode 100755
index 0000000..f30c800
--- /dev/null
+++ b/lcc/sparc/solaris/tst/spill.sbk
@@ -0,0 +1,207 @@
+.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