0000: 23 69 6e 63 6c 75 64 65 20 22 61 73 6d 73 70 61 #include "asmspa
0010: 72 63 2e 68 22 0a 2e 74 65 78 74 0a 09 2e 61 6c rc.h"..text...al
0020: 69 67 6e 20 34 0a 09 2e 67 6c 6f 62 61 6c 20 43 ign 4...global C
0030: 28 5f 5f 76 61 63 61 6c 6c 5f 72 29 0a 09 44 45 (__vacall_r)..DE
0040: 43 4c 41 52 45 5f 46 55 4e 43 54 49 4f 4e 28 5f CLARE_FUNCTION(_
0050: 5f 76 61 63 61 6c 6c 5f 72 29 0a 09 2e 70 72 6f _vacall_r)...pro
0060: 63 09 30 32 30 0a 43 28 5f 5f 76 61 63 61 6c 6c c.020.C(__vacall
0070: 5f 72 3a 29 0a 09 21 24 50 52 4f 4c 4f 47 55 45 _r:)..!$PROLOGUE
0080: 24 20 30 0a 09 73 61 76 65 09 25 73 70 2c 20 2d $ 0..save.%sp, -
0090: 31 34 34 2c 20 25 73 70 0a 09 21 24 50 52 4f 4c 144, %sp..!$PROL
00a0: 4f 47 55 45 24 20 31 0a 09 61 64 64 09 25 66 70 OGUE$ 1..add.%fp
00b0: 2c 20 39 32 2c 20 25 6f 30 0a 09 73 74 09 25 69 , 92, %o0..st.%i
00c0: 32 2c 20 5b 25 6f 30 2d 31 36 5d 0a 09 73 74 09 2, [%o0-16]..st.
00d0: 25 69 33 2c 20 5b 25 6f 30 2d 31 32 5d 0a 09 73 %i3, [%o0-12]..s
00e0: 74 09 25 69 34 2c 20 5b 25 6f 30 2d 38 5d 0a 09 t.%i4, [%o0-8]..
00f0: 73 74 09 25 69 35 2c 20 5b 25 6f 30 2d 34 5d 0a st.%i5, [%o0-4].
0100: 09 73 74 09 25 69 30 2c 20 5b 25 6f 30 2d 32 34 .st.%i0, [%o0-24
0110: 5d 0a 09 73 74 09 25 69 31 2c 20 5b 25 6f 30 2d ]..st.%i1, [%o0-
0120: 32 30 5d 0a 09 61 64 64 09 25 6f 30 2c 20 2d 32 20]..add.%o0, -2
0130: 34 2c 20 25 6f 31 0a 09 73 74 09 25 6f 31 2c 20 4, %o1..st.%o1,
0140: 5b 25 66 70 2d 34 34 5d 0a 09 73 74 09 25 67 30 [%fp-44]..st.%g0
0150: 2c 20 5b 25 66 70 2d 34 38 5d 0a 09 73 74 09 25 , [%fp-48]..st.%
0160: 67 30 2c 20 5b 25 66 70 2d 34 30 5d 0a 09 73 74 g0, [%fp-40]..st
0170: 09 25 67 30 2c 20 5b 25 66 70 2d 33 36 5d 0a 09 .%g0, [%fp-36]..
0180: 6c 64 09 5b 25 6f 30 2d 32 38 5d 2c 20 25 6f 32 ld.[%o0-28], %o2
0190: 0a 09 6c 64 09 5b 25 67 32 2b 34 5d 2c 20 25 6f ..ld.[%g2+4], %o
01a0: 30 0a 09 73 74 09 25 6f 32 2c 20 5b 25 66 70 2d 0..st.%o2, [%fp-
01b0: 31 36 5d 0a 09 6c 64 09 5b 25 67 32 5d 2c 20 25 16]..ld.[%g2], %
01c0: 6f 33 0a 09 63 61 6c 6c 09 25 6f 33 2c 20 30 0a o3..call.%o3, 0.
01d0: 09 61 64 64 09 25 66 70 2c 20 2d 34 38 2c 20 25 .add.%fp, -48, %
01e0: 6f 31 0a 09 6c 64 09 5b 25 66 70 2d 33 36 5d 2c o1..ld.[%fp-36],
01f0: 20 25 6f 30 0a 09 63 6d 70 09 25 6f 30 2c 20 30 %o0..cmp.%o0, 0
0200: 0a 09 62 65 09 4c 34 0a 09 63 6d 70 09 25 6f 30 ..be.L4..cmp.%o0
0210: 2c 20 31 0a 09 62 65 09 4c 34 36 0a 09 6d 6f 76 , 1..be.L46..mov
0220: 09 25 6f 30 2c 20 25 6f 31 0a 09 63 6d 70 09 25 .%o0, %o1..cmp.%
0230: 6f 31 2c 20 32 0a 09 62 6e 65 09 4c 37 0a 09 63 o1, 2..bne.L7..c
0240: 6d 70 09 25 6f 31 2c 20 33 0a 4c 34 36 3a 0a 09 mp.%o1, 3.L46:..
0250: 62 09 4c 34 0a 09 6c 64 73 62 09 5b 25 66 70 2d b.L4..ldsb.[%fp-
0260: 32 34 5d 2c 20 25 69 30 0a 4c 37 3a 0a 09 62 6e 24], %i0.L7:..bn
0270: 65 09 4c 39 0a 09 63 6d 70 09 25 6f 31 2c 20 34 e.L9..cmp.%o1, 4
0280: 0a 09 62 09 4c 34 0a 09 6c 64 75 62 09 5b 25 66 ..b.L4..ldub.[%f
0290: 70 2d 32 34 5d 2c 20 25 69 30 0a 4c 39 3a 0a 09 p-24], %i0.L9:..
02a0: 62 6e 65 09 4c 31 31 0a 09 63 6d 70 09 25 6f 31 bne.L11..cmp.%o1
02b0: 2c 20 35 0a 09 62 09 4c 34 0a 09 6c 64 73 68 09 , 5..b.L4..ldsh.
02c0: 5b 25 66 70 2d 32 34 5d 2c 20 25 69 30 0a 4c 31 [%fp-24], %i0.L1
02d0: 31 3a 0a 09 62 6e 65 09 4c 31 33 0a 09 63 6d 70 1:..bne.L13..cmp
02e0: 09 25 6f 31 2c 20 36 0a 09 62 09 4c 34 0a 09 6c .%o1, 6..b.L4..l
02f0: 64 75 68 09 5b 25 66 70 2d 32 34 5d 2c 20 25 69 duh.[%fp-24], %i
0300: 30 0a 4c 31 33 3a 0a 09 62 65 09 4c 34 37 0a 09 0.L13:..be.L47..
0310: 63 6d 70 09 25 6f 31 2c 20 37 0a 09 62 65 09 4c cmp.%o1, 7..be.L
0320: 34 37 0a 09 63 6d 70 09 25 6f 31 2c 20 38 0a 09 47..cmp.%o1, 8..
0330: 62 65 09 4c 34 37 0a 09 63 6d 70 09 25 6f 31 2c be.L47..cmp.%o1,
0340: 20 39 0a 09 62 65 09 4c 34 37 0a 09 61 64 64 09 9..be.L47..add.
0350: 25 6f 31 2c 20 2d 31 30 2c 20 25 6f 30 0a 09 63 %o1, -10, %o0..c
0360: 6d 70 09 25 6f 30 2c 20 31 0a 09 62 67 75 09 4c mp.%o0, 1..bgu.L
0370: 32 33 0a 09 63 6d 70 09 25 6f 31 2c 20 31 32 0a 23..cmp.%o1, 12.
0380: 09 6c 64 09 5b 25 66 70 2d 32 34 5d 2c 20 25 69 .ld.[%fp-24], %i
0390: 30 0a 09 62 09 4c 34 0a 09 6c 64 09 5b 25 66 70 0..b.L4..ld.[%fp
03a0: 2d 32 30 5d 2c 20 25 69 31 0a 4c 32 33 3a 0a 09 -20], %i1.L23:..
03b0: 62 6e 65 09 4c 32 35 0a 09 63 6d 70 09 25 6f 31 bne.L25..cmp.%o1
03c0: 2c 20 31 33 0a 09 6c 64 09 5b 25 66 70 2d 34 38 , 13..ld.[%fp-48
03d0: 5d 2c 20 25 6f 30 0a 09 61 6e 64 63 63 09 25 6f ], %o0..andcc.%o
03e0: 30 2c 20 33 32 2c 20 25 67 30 0a 09 62 65 09 4c 0, 32, %g0..be.L
03f0: 32 36 0a 09 6c 64 09 5b 25 66 70 2d 32 34 5d 2c 26..ld.[%fp-24],
0400: 20 25 66 32 0a 09 62 09 4c 34 0a 09 66 73 74 6f %f2..b.L4..fsto
0410: 64 09 25 66 32 2c 20 25 66 30 0a 4c 32 36 3a 0a d.%f2, %f0.L26:.
0420: 09 62 09 4c 34 0a 09 6c 64 09 5b 25 66 70 2d 32 .b.L4..ld.[%fp-2
0430: 34 5d 2c 20 25 66 30 0a 4c 32 35 3a 0a 09 62 6e 4], %f0.L25:..bn
0440: 65 09 4c 32 39 0a 09 63 6d 70 09 25 6f 31 2c 20 e.L29..cmp.%o1,
0450: 31 34 0a 09 62 09 4c 34 0a 09 6c 64 64 09 5b 25 14..b.L4..ldd.[%
0460: 66 70 2d 32 34 5d 2c 20 25 66 30 0a 4c 32 39 3a fp-24], %f0.L29:
0470: 0a 09 62 6e 65 09 4c 33 31 0a 09 63 6d 70 09 25 ..bne.L31..cmp.%
0480: 6f 31 2c 20 31 35 0a 4c 34 37 3a 0a 09 62 09 4c o1, 15.L47:..b.L
0490: 34 0a 09 6c 64 09 5b 25 66 70 2d 32 34 5d 2c 20 4..ld.[%fp-24],
04a0: 25 69 30 0a 4c 33 31 3a 0a 09 62 6e 65 09 4c 34 %i0.L31:..bne.L4
04b0: 0a 09 6c 64 09 5b 25 66 70 2d 34 38 5d 2c 20 25 ..ld.[%fp-48], %
04c0: 6f 30 0a 09 61 6e 64 63 63 09 25 6f 30 2c 20 32 o0..andcc.%o0, 2
04d0: 34 2c 20 25 67 30 0a 09 62 65 09 4c 33 34 0a 09 4, %g0..be.L34..
04e0: 6d 6f 76 09 25 6f 30 2c 20 25 6f 31 0a 09 6c 64 mov.%o0, %o1..ld
04f0: 09 5b 25 66 70 2d 33 32 5d 2c 20 25 6f 30 0a 09 .[%fp-32], %o0..
0500: 6c 64 09 5b 25 69 37 2b 38 5d 2c 20 25 6f 31 0a ld.[%i7+8], %o1.
0510: 09 61 6e 64 09 25 6f 30 2c 20 34 30 39 35 2c 20 .and.%o0, 4095,
0520: 25 6f 30 0a 09 63 6d 70 09 25 6f 30 2c 20 25 6f %o0..cmp.%o0, %o
0530: 31 0a 09 62 6e 65 09 4c 34 0a 09 6c 64 09 5b 25 1..bne.L4..ld.[%
0540: 66 70 2d 34 30 5d 2c 20 25 69 30 0a 09 62 09 4c fp-40], %i0..b.L
0550: 34 0a 09 61 64 64 09 25 69 37 2c 20 34 2c 20 25 4..add.%i7, 4, %
0560: 69 37 0a 4c 33 34 3a 0a 09 61 6e 64 63 63 09 25 i7.L34:..andcc.%
0570: 6f 31 2c 20 31 2c 20 25 67 30 0a 09 62 65 09 4c o1, 1, %g0..be.L
0580: 33 37 0a 09 61 6e 64 63 63 09 25 6f 31 2c 20 32 37..andcc.%o1, 2
0590: 2c 20 25 67 30 0a 09 62 09 4c 34 0a 09 6c 64 09 , %g0..b.L4..ld.
05a0: 5b 25 66 70 2d 34 30 5d 2c 20 25 69 30 0a 4c 33 [%fp-40], %i0.L3
05b0: 37 3a 0a 09 62 65 09 4c 33 39 0a 09 6c 64 09 5b 7:..be.L39..ld.[
05c0: 25 66 70 2d 33 32 5d 2c 20 25 6f 30 0a 09 63 6d %fp-32], %o0..cm
05d0: 70 09 25 6f 30 2c 20 31 0a 09 62 6e 65 09 4c 34 p.%o0, 1..bne.L4
05e0: 30 0a 09 6d 6f 76 09 25 6f 30 2c 20 25 6f 31 0a 0..mov.%o0, %o1.
05f0: 09 6c 64 09 5b 25 66 70 2d 34 30 5d 2c 20 25 6f .ld.[%fp-40], %o
0600: 30 0a 09 62 09 4c 34 0a 09 6c 64 75 62 09 5b 25 0..b.L4..ldub.[%
0610: 6f 30 5d 2c 20 25 69 30 0a 4c 34 30 3a 0a 09 63 o0], %i0.L40:..c
0620: 6d 70 09 25 6f 31 2c 20 32 0a 09 62 6e 65 09 4c mp.%o1, 2..bne.L
0630: 34 33 0a 09 63 6d 70 09 25 6f 31 2c 20 34 0a 09 43..cmp.%o1, 4..
0640: 6c 64 09 5b 25 66 70 2d 34 30 5d 2c 20 25 6f 30 ld.[%fp-40], %o0
0650: 0a 09 62 09 4c 34 0a 09 6c 64 75 68 09 5b 25 6f ..b.L4..lduh.[%o
0660: 30 5d 2c 20 25 69 30 0a 4c 34 33 3a 0a 09 62 6e 0], %i0.L43:..bn
0670: 65 2c 61 09 4c 34 0a 09 61 64 64 09 25 69 37 2c e,a.L4..add.%i7,
0680: 20 34 2c 20 25 69 37 0a 09 6c 64 09 5b 25 66 70 4, %i7..ld.[%fp
0690: 2d 34 30 5d 2c 20 25 6f 30 0a 09 62 09 4c 34 0a -40], %o0..b.L4.
06a0: 09 6c 64 09 5b 25 6f 30 5d 2c 20 25 69 30 0a 4c .ld.[%o0], %i0.L
06b0: 33 39 3a 0a 09 61 64 64 09 25 69 37 2c 20 34 2c 39:..add.%i7, 4,
06c0: 20 25 69 37 0a 4c 34 3a 0a 09 72 65 74 0a 09 72 %i7.L4:..ret..r
06d0: 65 73 74 6f 72 65 0a estore.