ioef/code/tools/lcc/sparc/solaris/tst/cvt.sbk
2005-10-04 15:18:22 +00:00

715 lines
11 KiB
Text

.global print
.section ".text"
.align 4
print:
save %sp,-128,%sp
set .L2,%o0
set c,%i5
ldsb [%i5],%o1
set s,%i5
ldsh [%i5],%o2
set i,%i5
ld [%i5],%o3
set l,%i5
ld [%i5],%o4
set C,%i5
ldub [%i5],%o5
set S,%i5
lduh [%i5],%i5
st %i5,[%sp+4*6+68]
set I,%i5
ld [%i5],%i5
st %i5,[%sp+4*7+68]
set L,%i5
ld [%i5],%i5
st %i5,[%sp+4*8+68]
set f,%i5
ld [%i5],%f31
fstod %f31,%f30
st %f30,[%sp+4*9+68]
st %f31,[%sp+4*10+68]
set d,%i5
ld2 [%i5],%f30
st %f30,[%sp+4*11+68]
st %f31,[%sp+4*12+68]
set D,%i5
ld2 [%i5],%f30
st %f30,[%sp+4*13+68]
st %f31,[%sp+4*14+68]
call printf; nop
.L1:
ret; restore
.type print,#function
.size print,.-print
.global main
.align 4
main:
save %sp,-104,%sp
set c,%i5
set 1,%i4
stb %i4,[%i5]
ldsb [%i5],%i5
set s,%i4
mov %i5,%i3
sth %i3,[%i4]
set i,%i4
st %i5,[%i4]
set l,%i4
st %i5,[%i4]
set C,%i3
mov %i5,%i2
stb %i2,[%i3]
set S,%i3
mov %i5,%i2
sth %i2,[%i3]
set I,%i3
st %i5,[%i3]
set L,%i3
st %i5,[%i3]
set f,%i4
st %i5,[%sp+64]; ld [%sp+64],%f31; fitos %f31,%f31
st %f31,[%i4]
st %i5,[%sp+64]; ld [%sp+64],%f30; fitod %f30,%f30
set d,%i5
st2 %f30,[%i5]
set D,%i5
st2 %f30,[%i5]
call print; nop
set s,%i5
set 2,%i4
sth %i4,[%i5]
ldsh [%i5],%i5
set c,%i4
mov %i5,%i3
stb %i3,[%i4]
set i,%i4
st %i5,[%i4]
set l,%i4
st %i5,[%i4]
set C,%i3
mov %i5,%i2
stb %i2,[%i3]
set S,%i3
mov %i5,%i2
sth %i2,[%i3]
set I,%i3
st %i5,[%i3]
set L,%i3
st %i5,[%i3]
set f,%i4
st %i5,[%sp+64]; ld [%sp+64],%f31; fitos %f31,%f31
st %f31,[%i4]
st %i5,[%sp+64]; ld [%sp+64],%f30; fitod %f30,%f30
set d,%i5
st2 %f30,[%i5]
set D,%i5
st2 %f30,[%i5]
call print; nop
set i,%i5
set 3,%i4
st %i4,[%i5]
ld [%i5],%i5
set c,%i4
mov %i5,%i3
stb %i3,[%i4]
set s,%i4
mov %i5,%i3
sth %i3,[%i4]
set l,%i4
st %i5,[%i4]
set C,%i3
mov %i5,%i2
stb %i2,[%i3]
set S,%i3
mov %i5,%i2
sth %i2,[%i3]
set I,%i3
st %i5,[%i3]
set L,%i3
st %i5,[%i3]
set f,%i4
st %i5,[%sp+64]; ld [%sp+64],%f31; fitos %f31,%f31
st %f31,[%i4]
st %i5,[%sp+64]; ld [%sp+64],%f30; fitod %f30,%f30
set d,%i5
st2 %f30,[%i5]
set D,%i5
st2 %f30,[%i5]
call print; nop
set l,%i5
set 4,%i4
st %i4,[%i5]
ld [%i5],%i5
set c,%i4
mov %i5,%i3
stb %i3,[%i4]
set s,%i4
mov %i5,%i3
sth %i3,[%i4]
set i,%i4
st %i5,[%i4]
set C,%i3
mov %i5,%i2
stb %i2,[%i3]
set S,%i3
mov %i5,%i2
sth %i2,[%i3]
set I,%i3
st %i5,[%i3]
set L,%i3
st %i5,[%i3]
set f,%i4
st %i5,[%sp+64]; ld [%sp+64],%f31; fitos %f31,%f31
st %f31,[%i4]
st %i5,[%sp+64]; ld [%sp+64],%f30; fitod %f30,%f30
set d,%i5
st2 %f30,[%i5]
set D,%i5
st2 %f30,[%i5]
call print; nop
set C,%i5
set 5,%i4
stb %i4,[%i5]
ldub [%i5],%i5
set c,%i4
mov %i5,%i3
stb %i3,[%i4]
set s,%i4
mov %i5,%i3
sth %i3,[%i4]
set i,%i4
st %i5,[%i4]
set l,%i4
st %i5,[%i4]
set S,%i3
mov %i5,%i2
sth %i2,[%i3]
set I,%i3
st %i5,[%i3]
set L,%i3
st %i5,[%i3]
set f,%i4
st %i5,[%sp+64]; ld [%sp+64],%f31; fitos %f31,%f31
st %f31,[%i4]
st %i5,[%sp+64]; ld [%sp+64],%f30; fitod %f30,%f30
set d,%i5
st2 %f30,[%i5]
set D,%i5
st2 %f30,[%i5]
call print; nop
set S,%i5
set 6,%i4
sth %i4,[%i5]
lduh [%i5],%i5
set c,%i4
mov %i5,%i3
stb %i3,[%i4]
set s,%i4
mov %i5,%i3
sth %i3,[%i4]
set i,%i4
st %i5,[%i4]
set l,%i4
st %i5,[%i4]
set C,%i3
mov %i5,%i2
stb %i2,[%i3]
set I,%i3
st %i5,[%i3]
set L,%i3
st %i5,[%i3]
set f,%i4
st %i5,[%sp+64]; ld [%sp+64],%f31; fitos %f31,%f31
st %f31,[%i4]
st %i5,[%sp+64]; ld [%sp+64],%f30; fitod %f30,%f30
set d,%i5
st2 %f30,[%i5]
set D,%i5
st2 %f30,[%i5]
call print; nop
set I,%i5
set 7,%i4
st %i4,[%i5]
ld [%i5],%i5
set c,%i3
mov %i5,%i2
stb %i2,[%i3]
set s,%i3
mov %i5,%i2
sth %i2,[%i3]
set i,%i3
st %i5,[%i3]
set l,%i3
st %i5,[%i3]
set C,%i4
mov %i5,%i3
stb %i3,[%i4]
set S,%i4
mov %i5,%i3
sth %i3,[%i4]
set L,%i4
st %i5,[%i4]
set .L4,%i4
ld2 [%i4],%f30
srl %i5,1,%i4
st %i4,[%sp+64]; ld [%sp+64],%f28; fitod %f28,%f28
fmuld %f30,%f28,%f30
set 1,%i4
and %i5,%i4,%i5
st %i5,[%sp+64]; ld [%sp+64],%f28; fitod %f28,%f28
faddd %f30,%f28,%f30
set f,%i5
fdtos %f30,%f29
st %f29,[%i5]
set d,%i5
st2 %f30,[%i5]
set D,%i5
st2 %f30,[%i5]
call print; nop
set L,%i5
set 8,%i4
st %i4,[%i5]
ld [%i5],%i5
set c,%i3
mov %i5,%i2
stb %i2,[%i3]
set s,%i3
mov %i5,%i2
sth %i2,[%i3]
set i,%i3
st %i5,[%i3]
set l,%i3
st %i5,[%i3]
set C,%i4
mov %i5,%i3
stb %i3,[%i4]
set S,%i4
mov %i5,%i3
sth %i3,[%i4]
set I,%i3
lduh [%i4],%i4
st %i4,[%i3]
set .L4,%i4
ld2 [%i4],%f30
srl %i5,1,%i4
st %i4,[%sp+64]; ld [%sp+64],%f28; fitod %f28,%f28
fmuld %f30,%f28,%f30
set 1,%i4
and %i5,%i4,%i5
st %i5,[%sp+64]; ld [%sp+64],%f28; fitod %f28,%f28
faddd %f30,%f28,%f30
set f,%i5
fdtos %f30,%f29
st %f29,[%i5]
set d,%i5
st2 %f30,[%i5]
set D,%i5
st2 %f30,[%i5]
call print; nop
set f,%i1
set .L5,%i0
ld [%i0],%f31
st %f31,[%i1]
ld [%i1],%f31
fstoi %f31,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1
set c,%i0
mov %i1,%l7
stb %l7,[%i0]
set s,%i0
mov %i1,%l7
sth %l7,[%i0]
set i,%i0
st %i1,[%i0]
set l,%i0
st %i1,[%i0]
set .L9,%i1
ld [%i1],%f30
fcmpes %f31,%f30; nop; fbul .L7; nop
fsubs %f31,%f30,%f30
fstoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1
set 0x80000000,%i0
add %i1,%i0,%i5
ba .L8; nop
.L7:
fstoi %f31,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1
mov %i1,%i5
.L8:
set C,%i1
mov %i5,%i0
stb %i0,[%i1]
set f,%i1
ld [%i1],%f31
set .L9,%i1
ld [%i1],%f30
fcmpes %f31,%f30; nop; fbul .L11; nop
fsubs %f31,%f30,%f30
fstoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1
set 0x80000000,%i0
add %i1,%i0,%i4
ba .L12; nop
.L11:
fstoi %f31,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1
mov %i1,%i4
.L12:
set S,%i1
mov %i4,%i0
sth %i0,[%i1]
set f,%i1
ld [%i1],%f31
set .L9,%i1
ld [%i1],%f30
fcmpes %f31,%f30; nop; fbul .L14; nop
fsubs %f31,%f30,%f30
fstoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1
set 0x80000000,%i0
add %i1,%i0,%i3
ba .L15; nop
.L14:
fstoi %f31,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1
mov %i1,%i3
.L15:
set I,%i1
st %i3,[%i1]
set f,%i1
ld [%i1],%f31
set .L9,%i1
ld [%i1],%f30
fcmpes %f31,%f30; nop; fbul .L17; nop
fsubs %f31,%f30,%f30
fstoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1
set 0x80000000,%i0
add %i1,%i0,%i2
ba .L18; nop
.L17:
fstoi %f31,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1
mov %i1,%i2
.L18:
set L,%i1
st %i2,[%i1]
set f,%i1
ld [%i1],%f31
fstod %f31,%f30
set d,%i1
st2 %f30,[%i1]
set D,%i1
st2 %f30,[%i1]
call print; nop
set d,%l5
set .L19,%l4
ld2 [%l4],%f30
st2 %f30,[%l5]
ld2 [%l5],%f30
fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5
set c,%l4
mov %l5,%l3
stb %l3,[%l4]
set s,%l4
mov %l5,%l3
sth %l3,[%l4]
set i,%l4
st %l5,[%l4]
set l,%l4
st %l5,[%l4]
set .L23,%l5
ld2 [%l5],%f28
fcmped %f30,%f28; nop; fbul .L21; nop
fsubd %f30,%f28,%f28
fdtoi %f28,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5
set 0x80000000,%l4
add %l5,%l4,%i1
ba .L22; nop
.L21:
fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5
mov %l5,%i1
.L22:
set C,%l5
mov %i1,%l4
stb %l4,[%l5]
set d,%l5
ld2 [%l5],%f30
set .L23,%l5
ld2 [%l5],%f28
fcmped %f30,%f28; nop; fbul .L25; nop
fsubd %f30,%f28,%f28
fdtoi %f28,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5
set 0x80000000,%l4
add %l5,%l4,%i0
ba .L26; nop
.L25:
fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5
mov %l5,%i0
.L26:
set S,%l5
mov %i0,%l4
sth %l4,[%l5]
set d,%l5
ld2 [%l5],%f30
set .L23,%l5
ld2 [%l5],%f28
fcmped %f30,%f28; nop; fbul .L28; nop
fsubd %f30,%f28,%f28
fdtoi %f28,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5
set 0x80000000,%l4
add %l5,%l4,%l7
ba .L29; nop
.L28:
fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5
mov %l5,%l7
.L29:
set I,%l5
st %l7,[%l5]
set d,%l5
ld2 [%l5],%f30
set .L23,%l5
ld2 [%l5],%f28
fcmped %f30,%f28; nop; fbul .L31; nop
fsubd %f30,%f28,%f28
fdtoi %f28,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5
set 0x80000000,%l4
add %l5,%l4,%l6
ba .L32; nop
.L31:
fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5
mov %l5,%l6
.L32:
set L,%l5
st %l6,[%l5]
set d,%l5
ld2 [%l5],%f30
set f,%l5
fdtos %f30,%f29
st %f29,[%l5]
set D,%l5
st2 %f30,[%l5]
call print; nop
set D,%l3
set .L33,%l2
ld2 [%l2],%f30
st2 %f30,[%l3]
ld2 [%l3],%f30
fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3
set c,%l2
mov %l3,%l1
stb %l1,[%l2]
set s,%l2
mov %l3,%l1
sth %l1,[%l2]
set i,%l2
st %l3,[%l2]
set l,%l2
st %l3,[%l2]
set .L37,%l3
ld2 [%l3],%f28
fcmped %f30,%f28; nop; fbul .L35; nop
fsubd %f30,%f28,%f28
fdtoi %f28,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3
set 0x80000000,%l2
add %l3,%l2,%l5
ba .L36; nop
.L35:
fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3
mov %l3,%l5
.L36:
set C,%l3
mov %l5,%l2
stb %l2,[%l3]
set D,%l3
ld2 [%l3],%f30
set .L37,%l3
ld2 [%l3],%f28
fcmped %f30,%f28; nop; fbul .L39; nop
fsubd %f30,%f28,%f28
fdtoi %f28,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3
set 0x80000000,%l2
add %l3,%l2,%l4
ba .L40; nop
.L39:
fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3
mov %l3,%l4
.L40:
set S,%l3
mov %l4,%l2
sth %l2,[%l3]
set D,%l3
ld2 [%l3],%f30
set .L37,%l3
ld2 [%l3],%f28
fcmped %f30,%f28; nop; fbul .L42; nop
fsubd %f30,%f28,%f28
fdtoi %f28,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3
set 0x80000000,%l2
add %l3,%l2,%l3
st %l3,[%fp+-4]
ba .L43; nop
.L42:
fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3
st %l3,[%fp+-4]
.L43:
set I,%l3
ld [%fp+-4],%l2
st %l2,[%l3]
set D,%l3
ld2 [%l3],%f30
set .L37,%l3
ld2 [%l3],%f28
fcmped %f30,%f28; nop; fbul .L45; nop
fsubd %f30,%f28,%f28
fdtoi %f28,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3
set 0x80000000,%l2
add %l3,%l2,%l3
st %l3,[%fp+-8]
ba .L46; nop
.L45:
fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3
st %l3,[%fp+-8]
.L46:
set L,%l3
ld [%fp+-8],%l2
st %l2,[%l3]
set D,%l3
ld2 [%l3],%f30
set f,%l3
fdtos %f30,%f29
st %f29,[%l3]
set d,%l3
st2 %f30,[%l3]
call print; nop
set p,%l3
st %g0,[%l3]
st %g0,[%l3]
st %g0,[%l3]
st %g0,[%l3]
set P,%l2
ld [%l2],%l1
st %l1,[%l3]
mov %g0,%l1
st %l1,[%l2]
st %l1,[%l2]
st %l1,[%l2]
st %l1,[%l2]
ld [%l3],%l3
st %l3,[%l2]
mov %g0,%i0
.L3:
ret; restore
.type main,#function
.size main,.-main
.section ".bss"
.global P
.type P,#object
.size P,4
.common P,4,4
.global p
.type p,#object
.size p,4
.common p,4,4
.global D
.type D,#object
.size D,8
.common D,8,8
.global d
.type d,#object
.size d,8
.common d,8,8
.global f
.type f,#object
.size f,4
.common f,4,4
.global L
.type L,#object
.size L,4
.common L,4,4
.global I
.type I,#object
.size I,4
.common I,4,4
.global S
.type S,#object
.size S,2
.common S,2,2
.global C
.type C,#object
.size C,1
.common C,1,1
.global l
.type l,#object
.size l,4
.common l,4,4
.global i
.type i,#object
.size i,4
.common i,4,4
.global s
.type s,#object
.size s,2
.common s,2,2
.global c
.type c,#object
.size c,1
.common c,1,1
.section ".rodata"
.align 8
.L37:
.word 0x41e00000
.word 0x0
.align 8
.L33:
.word 0x40260000
.word 0x0
.align 8
.L23:
.word 0x41e00000
.word 0x0
.align 8
.L19:
.word 0x40240000
.word 0x0
.align 4
.L9:
.word 0x4f000000
.align 4
.L5:
.word 0x41100000
.align 8
.L4:
.word 0x40000000
.word 0x0
.align 1
.L2:
.byte 37
.byte 100
.byte 32
.byte 37
.byte 100
.byte 32
.byte 37
.byte 100
.byte 32
.byte 37
.byte 108
.byte 100
.byte 32
.byte 37
.byte 117
.byte 32
.byte 37
.byte 117
.byte 32
.byte 37
.byte 117
.byte 32
.byte 37
.byte 108
.byte 117
.byte 32
.byte 37
.byte 102
.byte 32
.byte 37
.byte 102
.byte 32
.byte 37
.byte 108
.byte 102
.byte 10
.byte 0