1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 .globl csum_ipv6_magic
16 .align 4
17 .ent csum_ipv6_magic
18 .frame $30,0,$26,0
19csum_ipv6_magic:
20 .prologue 0
21
22 ldq_u $0,0($16)
23 zapnot $20,15,$20
24 extqh $18,1,$4
25 ldq_u $21,7($16)
26
27 extbl $18,1,$5
28 ldq_u $1,8($16)
29 extbl $18,2,$6
30 ldq_u $22,15($16)
31
32 extbl $18,3,$18
33 ldq_u $2,0($17)
34 sra $4,32,$4
35 ldq_u $23,7($17)
36
37 extql $0,$16,$0
38 ldq_u $3,8($17)
39 extqh $21,$16,$21
40 ldq_u $24,15($17)
41
42 sll $5,16,$5
43 or $0,$21,$0
44 extql $1,$16,$1
45 addq $20,$0,$20
46
47 extqh $22,$16,$22
48 cmpult $20,$0,$0
49 sll $6,8,$6
50 or $1,$22,$1
51
52 extql $2,$17,$2
53 or $4,$18,$18
54 extqh $23,$17,$23
55 or $5,$6,$5
56
57 extql $3,$17,$3
58 or $2,$23,$2
59 extqh $24,$17,$24
60 or $18,$5,$18
61
62 extwh $19,7,$7
63 or $3,$24,$3
64 extbl $19,1,$19
65 addq $20,$1,$20
66
67 or $19,$7,$19
68 cmpult $20,$1,$1
69 sll $19,48,$19
70 nop
71
72 sra $19,32,$19
73 addq $20,$2,$20
74 cmpult $20,$2,$2
75 addq $20,$3,$20
76
77 cmpult $20,$3,$3
78 addq $20,$18,$20
79 cmpult $20,$18,$18
80 addq $20,$19,$20
81
82 cmpult $20,$19,$19
83 addq $0,$1,$0
84 addq $2,$3,$2
85 addq $18,$19,$18
86
87 addq $0,$2,$0
88 addq $20,$18,$20
89 addq $0,$20,$0
90 unop
91
92 extwl $0,2,$2
93 zapnot $0,3,$3
94 extwl $0,4,$1
95 addq $2,$3,$3
96
97 extwl $0,6,$0
98 addq $3,$1,$3
99 addq $0,$3,$0
100 unop
101
102 extwl $0,2,$1
103 zapnot $0,3,$0
104 addq $0,$1,$0
105 unop
106
107 extwl $0,2,$1
108 zapnot $0,3,$0
109 addq $0,$1,$0
110 not $0,$0
111
112 zapnot $0,3,$0
113 ret
114
115 .end csum_ipv6_magic
116