1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global __kernel_tan
__kernel_tan:
/* 801D3BB4 001CF814 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801D3BB8 001CF818 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 801D3BBC 001CF81C F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 801D3BC0 001CF820 DB C1 00 30 */ stfd f30, 0x30(r1)
/* 801D3BC4 001CF824 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0
/* 801D3BC8 001CF828 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D3BCC 001CF82C 3C 00 3E 30 */ lis r0, 0x3e30
/* 801D3BD0 001CF830 81 01 00 08 */ lwz r8, 8(r1)
/* 801D3BD4 001CF834 55 07 00 7E */ clrlwi r7, r8, 1
/* 801D3BD8 001CF838 7C 07 00 00 */ cmpw r7, r0
/* 801D3BDC 001CF83C 40 80 00 54 */ bge lbl_801D3C30
/* 801D3BE0 001CF840 FC 00 08 1E */ fctiwz f0, f1
/* 801D3BE4 001CF844 D8 01 00 20 */ stfd f0, 0x20(r1)
/* 801D3BE8 001CF848 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D3BEC 001CF84C 2C 00 00 00 */ cmpwi r0, 0
/* 801D3BF0 001CF850 40 82 00 40 */ bne lbl_801D3C30
/* 801D3BF4 001CF854 38 83 00 01 */ addi r4, r3, 1
/* 801D3BF8 001CF858 80 01 00 0C */ lwz r0, 0xc(r1)
/* 801D3BFC 001CF85C 7C 84 3B 78 */ or r4, r4, r7
/* 801D3C00 001CF860 7C 80 03 79 */ or. r0, r4, r0
/* 801D3C04 001CF864 40 82 00 14 */ bne lbl_801D3C18
/* 801D3C08 001CF868 FC 20 0A 10 */ fabs f1, f1
/* 801D3C0C 001CF86C C8 02 95 20 */ lfd f0, lbl_80641B20-_SDA2_BASE_(r2)
/* 801D3C10 001CF870 FC 20 08 24 */ fdiv f1, f0, f1
/* 801D3C14 001CF874 48 00 01 E0 */ b lbl_801D3DF4
lbl_801D3C18:
/* 801D3C18 001CF878 2C 03 00 01 */ cmpwi r3, 1
/* 801D3C1C 001CF87C 40 82 00 08 */ bne lbl_801D3C24
/* 801D3C20 001CF880 48 00 01 D4 */ b lbl_801D3DF4
lbl_801D3C24:
/* 801D3C24 001CF884 C8 02 95 28 */ lfd f0, lbl_80641B28-_SDA2_BASE_(r2)
/* 801D3C28 001CF888 FC 20 08 24 */ fdiv f1, f0, f1
/* 801D3C2C 001CF88C 48 00 01 C8 */ b lbl_801D3DF4
lbl_801D3C30:
/* 801D3C30 001CF890 3C 80 3F E6 */ lis r4, 0x3FE59428@ha
/* 801D3C34 001CF894 38 04 94 28 */ addi r0, r4, 0x3FE59428@l
/* 801D3C38 001CF898 7C 07 00 00 */ cmpw r7, r0
/* 801D3C3C 001CF89C 41 80 00 30 */ blt lbl_801D3C6C
/* 801D3C40 001CF8A0 2C 08 00 00 */ cmpwi r8, 0
/* 801D3C44 001CF8A4 40 80 00 0C */ bge lbl_801D3C50
/* 801D3C48 001CF8A8 FC 20 08 50 */ fneg f1, f1
/* 801D3C4C 001CF8AC FC 40 10 50 */ fneg f2, f2
lbl_801D3C50:
/* 801D3C50 001CF8B0 C8 62 95 30 */ lfd f3, lbl_80641B30-_SDA2_BASE_(r2)
/* 801D3C54 001CF8B4 C8 02 95 38 */ lfd f0, lbl_80641B38-_SDA2_BASE_(r2)
/* 801D3C58 001CF8B8 FC 23 08 28 */ fsub f1, f3, f1
/* 801D3C5C 001CF8BC FC 00 10 28 */ fsub f0, f0, f2
/* 801D3C60 001CF8C0 C8 42 95 40 */ lfd f2, lbl_80641B40-_SDA2_BASE_(r2)
/* 801D3C64 001CF8C4 FC 21 00 2A */ fadd f1, f1, f0
/* 801D3C68 001CF8C8 D8 21 00 08 */ stfd f1, 8(r1)
lbl_801D3C6C:
/* 801D3C6C 001CF8CC FC 01 00 72 */ fmul f0, f1, f1
/* 801D3C70 001CF8D0 3C C0 80 40 */ lis r6, lbl_803FD540@ha
/* 801D3C74 001CF8D4 38 A6 D5 40 */ addi r5, r6, lbl_803FD540@l
/* 801D3C78 001CF8D8 3C 80 3F E6 */ lis r4, 0x3FE59428@ha
/* 801D3C7C 001CF8DC 38 04 94 28 */ addi r0, r4, 0x3FE59428@l
/* 801D3C80 001CF8E0 C8 A5 00 60 */ lfd f5, 0x60(r5)
/* 801D3C84 001CF8E4 FC 60 00 32 */ fmul f3, f0, f0
/* 801D3C88 001CF8E8 C9 05 00 58 */ lfd f8, 0x58(r5)
/* 801D3C8C 001CF8EC C8 C5 00 50 */ lfd f6, 0x50(r5)
/* 801D3C90 001CF8F0 7C 07 00 00 */ cmpw r7, r0
/* 801D3C94 001CF8F4 C9 45 00 48 */ lfd f10, 0x48(r5)
/* 801D3C98 001CF8F8 FC 80 00 72 */ fmul f4, f0, f1
/* 801D3C9C 001CF8FC FC E3 01 72 */ fmul f7, f3, f5
/* 801D3CA0 001CF900 C8 A6 D5 40 */ lfd f5, -0x2ac0(r6)
/* 801D3CA4 001CF904 C9 25 00 40 */ lfd f9, 0x40(r5)
/* 801D3CA8 001CF908 FD 63 02 32 */ fmul f11, f3, f8
/* 801D3CAC 001CF90C CB E5 00 38 */ lfd f31, 0x38(r5)
/* 801D3CB0 001CF910 C9 05 00 30 */ lfd f8, 0x30(r5)
/* 801D3CB4 001CF914 FC C6 38 2A */ fadd f6, f6, f7
/* 801D3CB8 001CF918 C9 A5 00 28 */ lfd f13, 0x28(r5)
/* 801D3CBC 001CF91C FF CA 58 2A */ fadd f30, f10, f11
/* 801D3CC0 001CF920 C8 E5 00 20 */ lfd f7, 0x20(r5)
/* 801D3CC4 001CF924 FC A5 01 32 */ fmul f5, f5, f4
/* 801D3CC8 001CF928 C9 85 00 18 */ lfd f12, 0x18(r5)
/* 801D3CCC 001CF92C FD 43 01 B2 */ fmul f10, f3, f6
/* 801D3CD0 001CF930 C8 C5 00 10 */ lfd f6, 0x10(r5)
/* 801D3CD4 001CF934 C9 65 00 08 */ lfd f11, 8(r5)
/* 801D3CD8 001CF938 FF C3 07 B2 */ fmul f30, f3, f30
/* 801D3CDC 001CF93C D8 01 00 18 */ stfd f0, 0x18(r1)
/* 801D3CE0 001CF940 FD 29 50 2A */ fadd f9, f9, f10
/* 801D3CE4 001CF944 FD 5F F0 2A */ fadd f10, f31, f30
/* 801D3CE8 001CF948 FD 23 02 72 */ fmul f9, f3, f9
/* 801D3CEC 001CF94C FD 43 02 B2 */ fmul f10, f3, f10
/* 801D3CF0 001CF950 FD 08 48 2A */ fadd f8, f8, f9
/* 801D3CF4 001CF954 FD 2D 50 2A */ fadd f9, f13, f10
/* 801D3CF8 001CF958 FD 03 02 32 */ fmul f8, f3, f8
/* 801D3CFC 001CF95C FD 23 02 72 */ fmul f9, f3, f9
/* 801D3D00 001CF960 FC E7 40 2A */ fadd f7, f7, f8
/* 801D3D04 001CF964 FD 0C 48 2A */ fadd f8, f12, f9
/* 801D3D08 001CF968 FC E3 01 F2 */ fmul f7, f3, f7
/* 801D3D0C 001CF96C FD 03 02 32 */ fmul f8, f3, f8
/* 801D3D10 001CF970 FC 66 38 2A */ fadd f3, f6, f7
/* 801D3D14 001CF974 FC CB 40 2A */ fadd f6, f11, f8
/* 801D3D18 001CF978 FC 60 00 F2 */ fmul f3, f0, f3
/* 801D3D1C 001CF97C FC 66 18 2A */ fadd f3, f6, f3
/* 801D3D20 001CF980 FC 64 00 F2 */ fmul f3, f4, f3
/* 801D3D24 001CF984 FC 62 18 2A */ fadd f3, f2, f3
/* 801D3D28 001CF988 FC 00 00 F2 */ fmul f0, f0, f3
/* 801D3D2C 001CF98C FC C2 00 2A */ fadd f6, f2, f0
/* 801D3D30 001CF990 FC C6 28 2A */ fadd f6, f6, f5
/* 801D3D34 001CF994 FC 81 30 2A */ fadd f4, f1, f6
/* 801D3D38 001CF998 41 80 00 64 */ blt lbl_801D3D9C
/* 801D3D3C 001CF99C 3C 80 43 30 */ lis r4, 0x4330
/* 801D3D40 001CF9A0 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 801D3D44 001CF9A4 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D3D48 001CF9A8 55 00 17 BC */ rlwinm r0, r8, 2, 0x1e, 0x1e
/* 801D3D4C 001CF9AC 20 00 00 01 */ subfic r0, r0, 1
/* 801D3D50 001CF9B0 C8 A2 95 50 */ lfd f5, lbl_80641B50-_SDA2_BASE_(r2)
/* 801D3D54 001CF9B4 90 81 00 20 */ stw r4, 0x20(r1)
/* 801D3D58 001CF9B8 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 801D3D5C 001CF9BC FC 64 01 32 */ fmul f3, f4, f4
/* 801D3D60 001CF9C0 C8 02 95 48 */ lfd f0, lbl_80641B48-_SDA2_BASE_(r2)
/* 801D3D64 001CF9C4 C8 41 00 20 */ lfd f2, 0x20(r1)
/* 801D3D68 001CF9C8 90 01 00 2C */ stw r0, 0x2c(r1)
/* 801D3D6C 001CF9CC FC E2 28 28 */ fsub f7, f2, f5
/* 801D3D70 001CF9D0 90 81 00 28 */ stw r4, 0x28(r1)
/* 801D3D74 001CF9D4 FC 44 38 2A */ fadd f2, f4, f7
/* 801D3D78 001CF9D8 C8 81 00 28 */ lfd f4, 0x28(r1)
/* 801D3D7C 001CF9DC FC 84 28 28 */ fsub f4, f4, f5
/* 801D3D80 001CF9E0 FC 43 10 24 */ fdiv f2, f3, f2
/* 801D3D84 001CF9E4 FC 42 30 28 */ fsub f2, f2, f6
/* 801D3D88 001CF9E8 FC 21 10 28 */ fsub f1, f1, f2
/* 801D3D8C 001CF9EC FC 00 00 72 */ fmul f0, f0, f1
/* 801D3D90 001CF9F0 FC 07 00 28 */ fsub f0, f7, f0
/* 801D3D94 001CF9F4 FC 24 00 32 */ fmul f1, f4, f0
/* 801D3D98 001CF9F8 48 00 00 5C */ b lbl_801D3DF4
lbl_801D3D9C:
/* 801D3D9C 001CF9FC 2C 03 00 01 */ cmpwi r3, 1
/* 801D3DA0 001CFA00 40 82 00 0C */ bne lbl_801D3DAC
/* 801D3DA4 001CFA04 FC 20 20 90 */ fmr f1, f4
/* 801D3DA8 001CFA08 48 00 00 4C */ b lbl_801D3DF4
lbl_801D3DAC:
/* 801D3DAC 001CFA0C C8 02 95 28 */ lfd f0, lbl_80641B28-_SDA2_BASE_(r2)
/* 801D3DB0 001CFA10 38 00 00 00 */ li r0, 0
/* 801D3DB4 001CFA14 D8 81 00 18 */ stfd f4, 0x18(r1)
/* 801D3DB8 001CFA18 FC A0 20 24 */ fdiv f5, f0, f4
/* 801D3DBC 001CFA1C C8 42 95 20 */ lfd f2, lbl_80641B20-_SDA2_BASE_(r2)
/* 801D3DC0 001CFA20 90 01 00 1C */ stw r0, 0x1c(r1)
/* 801D3DC4 001CFA24 C8 81 00 18 */ lfd f4, 0x18(r1)
/* 801D3DC8 001CFA28 D8 A1 00 10 */ stfd f5, 0x10(r1)
/* 801D3DCC 001CFA2C FC 04 08 28 */ fsub f0, f4, f1
/* 801D3DD0 001CFA30 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D3DD4 001CFA34 FC 06 00 28 */ fsub f0, f6, f0
/* 801D3DD8 001CFA38 C8 61 00 10 */ lfd f3, 0x10(r1)
/* 801D3DDC 001CFA3C FC 23 01 32 */ fmul f1, f3, f4
/* 801D3DE0 001CFA40 FC 03 00 32 */ fmul f0, f3, f0
/* 801D3DE4 001CFA44 FC 22 08 2A */ fadd f1, f2, f1
/* 801D3DE8 001CFA48 FC 01 00 2A */ fadd f0, f1, f0
/* 801D3DEC 001CFA4C FC 05 00 32 */ fmul f0, f5, f0
/* 801D3DF0 001CFA50 FC 23 00 2A */ fadd f1, f3, f0
lbl_801D3DF4:
/* 801D3DF4 001CFA54 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 801D3DF8 001CFA58 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 801D3DFC 001CFA5C E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0
/* 801D3E00 001CFA60 CB C1 00 30 */ lfd f30, 0x30(r1)
/* 801D3E04 001CFA64 38 21 00 50 */ addi r1, r1, 0x50
/* 801D3E08 001CFA68 4E 80 00 20 */ blr
|