|
|
1.1 root 1: .text
2: .align 2
3: .globl _vecadd
4: _vecadd:
5: .word L.R1
6: subl2 $L.SO1,sp
7: .stabs "vecadd",0x24,0,6,_vecadd
8: .stabs "vecadd",0x20,0,77,0
9: .stabs "w",0xa0,0,45,4
10: .stabs "n",0xa0,0,4,8
11: .stabs "s",0xa0,0,13,12
12: movl 4(ap),r11
13: movl 8(ap),r10
14: movl 12(ap),r9
15: L15:
16: # while n >= 128
17: subl2 $128,r10
18: jlss L14
19: # add in 128 bytes
20: addl2 (r11)+,r9
21: adwc (r11)+,r9
22: adwc (r11)+,r9
23: adwc (r11)+,r9
24: adwc (r11)+,r9
25: adwc (r11)+,r9
26: adwc (r11)+,r9
27: adwc (r11)+,r9
28: adwc (r11)+,r9
29: adwc (r11)+,r9
30: adwc (r11)+,r9
31: adwc (r11)+,r9
32: adwc (r11)+,r9
33: adwc (r11)+,r9
34: adwc (r11)+,r9
35: adwc (r11)+,r9
36: adwc (r11)+,r9
37: adwc (r11)+,r9
38: adwc (r11)+,r9
39: adwc (r11)+,r9
40: adwc (r11)+,r9
41: adwc (r11)+,r9
42: adwc (r11)+,r9
43: adwc (r11)+,r9
44: adwc (r11)+,r9
45: adwc (r11)+,r9
46: adwc (r11)+,r9
47: adwc (r11)+,r9
48: adwc (r11)+,r9
49: adwc (r11)+,r9
50: adwc (r11)+,r9
51: adwc (r11)+,r9
52: adwc $0,r9
53: jbr L15
54: L14:
55: addl2 $128,r10
56: L17:
57: # while n >= 32
58: subl2 $32,r10
59: jlss L16
60: # add in 32 bytes
61: addl2 (r11)+,r9
62: adwc (r11)+,r9
63: adwc (r11)+,r9
64: adwc (r11)+,r9
65: adwc (r11)+,r9
66: adwc (r11)+,r9
67: adwc (r11)+,r9
68: adwc (r11)+,r9
69: adwc $0,r9
70: jbr L17
71: L16:
72: addl2 $32,r10
73: # fold the long
74: ashl $-16,r9,r0
75: movzwl r0,r0
76: movzwl r9,r9
77: addl2 r0,r9
78: L19:
79: # while n >= 2
80: subl2 $2,r10
81: jlss L18
82: # add in 2 bytes
83: movzwl (r11)+,r0
84: addl2 r0,r9
85: jbr L19
86: L18:
87: cmpl r10,$-1
88: jneq L20
89: movzbl (r11),r0
90: addl2 r0,r9
91: L20:
92: # fold the long
93: ashl $-16,r9,r0
94: movzwl r9,r9
95: addl2 r0,r9
96: ashl $-16,r9,r0
97: movzwl r9,r9
98: addw2 r9,r0
99: jbr L13
100: .stabs "s",0x40,0,13,9
101: .stabs "n",0x40,0,4,10
102: .stabs "w",0x40,0,45,11
103: L13:
104: ret
105: .set L.R1,0xe00
106: .set L.SO1,0x0
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.