diff options
Diffstat (limited to 'code/tools/lcc/sparc/solaris/tst/cvt.sbk')
-rw-r--r-- | code/tools/lcc/sparc/solaris/tst/cvt.sbk | 715 |
1 files changed, 715 insertions, 0 deletions
diff --git a/code/tools/lcc/sparc/solaris/tst/cvt.sbk b/code/tools/lcc/sparc/solaris/tst/cvt.sbk new file mode 100644 index 0000000..262427e --- /dev/null +++ b/code/tools/lcc/sparc/solaris/tst/cvt.sbk @@ -0,0 +1,715 @@ +.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 |