diff options
Diffstat (limited to 'asm/libstdc++/k_sin.s')
-rw-r--r-- | asm/libstdc++/k_sin.s | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/asm/libstdc++/k_sin.s b/asm/libstdc++/k_sin.s new file mode 100644 index 0000000..8f1e58a --- /dev/null +++ b/asm/libstdc++/k_sin.s @@ -0,0 +1,57 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __kernel_sin
+__kernel_sin:
+/* 801D3AF4 001CF754 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 801D3AF8 001CF758 3C 00 3E 40 */ lis r0, 0x3e40
+/* 801D3AFC 001CF75C D8 21 00 08 */ stfd f1, 8(r1)
+/* 801D3B00 001CF760 80 81 00 08 */ lwz r4, 8(r1)
+/* 801D3B04 001CF764 54 84 00 7E */ clrlwi r4, r4, 1
+/* 801D3B08 001CF768 7C 04 00 00 */ cmpw r4, r0
+/* 801D3B0C 001CF76C 40 80 00 1C */ bge lbl_801D3B28
+/* 801D3B10 001CF770 FC 00 08 1E */ fctiwz f0, f1
+/* 801D3B14 001CF774 D8 01 00 10 */ stfd f0, 0x10(r1)
+/* 801D3B18 001CF778 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 801D3B1C 001CF77C 2C 00 00 00 */ cmpwi r0, 0
+/* 801D3B20 001CF780 40 82 00 08 */ bne lbl_801D3B28
+/* 801D3B24 001CF784 48 00 00 88 */ b lbl_801D3BAC
+lbl_801D3B28:
+/* 801D3B28 001CF788 FC E1 00 72 */ fmul f7, f1, f1
+/* 801D3B2C 001CF78C C8 02 95 08 */ lfd f0, lbl_80641B08-_SDA2_BASE_(r2)
+/* 801D3B30 001CF790 C8 A2 95 00 */ lfd f5, lbl_80641B00-_SDA2_BASE_(r2)
+/* 801D3B34 001CF794 2C 03 00 00 */ cmpwi r3, 0
+/* 801D3B38 001CF798 C8 82 94 F8 */ lfd f4, lbl_80641AF8-_SDA2_BASE_(r2)
+/* 801D3B3C 001CF79C C8 62 94 F0 */ lfd f3, lbl_80641AF0-_SDA2_BASE_(r2)
+/* 801D3B40 001CF7A0 FC C0 01 F2 */ fmul f6, f0, f7
+/* 801D3B44 001CF7A4 C8 02 94 E8 */ lfd f0, lbl_80641AE8-_SDA2_BASE_(r2)
+/* 801D3B48 001CF7A8 FD 07 00 72 */ fmul f8, f7, f1
+/* 801D3B4C 001CF7AC FC A5 30 2A */ fadd f5, f5, f6
+/* 801D3B50 001CF7B0 FC A7 01 72 */ fmul f5, f7, f5
+/* 801D3B54 001CF7B4 FC 84 28 2A */ fadd f4, f4, f5
+/* 801D3B58 001CF7B8 FC 87 01 32 */ fmul f4, f7, f4
+/* 801D3B5C 001CF7BC FC 63 20 2A */ fadd f3, f3, f4
+/* 801D3B60 001CF7C0 FC 67 00 F2 */ fmul f3, f7, f3
+/* 801D3B64 001CF7C4 FC 00 18 2A */ fadd f0, f0, f3
+/* 801D3B68 001CF7C8 40 82 00 1C */ bne lbl_801D3B84
+/* 801D3B6C 001CF7CC FC 47 00 32 */ fmul f2, f7, f0
+/* 801D3B70 001CF7D0 C8 02 95 10 */ lfd f0, lbl_80641B10-_SDA2_BASE_(r2)
+/* 801D3B74 001CF7D4 FC 00 10 2A */ fadd f0, f0, f2
+/* 801D3B78 001CF7D8 FC 08 00 32 */ fmul f0, f8, f0
+/* 801D3B7C 001CF7DC FC 21 00 2A */ fadd f1, f1, f0
+/* 801D3B80 001CF7E0 48 00 00 2C */ b lbl_801D3BAC
+lbl_801D3B84:
+/* 801D3B84 001CF7E4 C8 82 95 18 */ lfd f4, lbl_80641B18-_SDA2_BASE_(r2)
+/* 801D3B88 001CF7E8 FC 68 00 32 */ fmul f3, f8, f0
+/* 801D3B8C 001CF7EC C8 02 95 10 */ lfd f0, lbl_80641B10-_SDA2_BASE_(r2)
+/* 801D3B90 001CF7F0 FC 84 00 B2 */ fmul f4, f4, f2
+/* 801D3B94 001CF7F4 FC 00 02 32 */ fmul f0, f0, f8
+/* 801D3B98 001CF7F8 FC 64 18 28 */ fsub f3, f4, f3
+/* 801D3B9C 001CF7FC FC 67 00 F2 */ fmul f3, f7, f3
+/* 801D3BA0 001CF800 FC 43 10 28 */ fsub f2, f3, f2
+/* 801D3BA4 001CF804 FC 02 00 28 */ fsub f0, f2, f0
+/* 801D3BA8 001CF808 FC 21 00 28 */ fsub f1, f1, f0
+lbl_801D3BAC:
+/* 801D3BAC 001CF80C 38 21 00 20 */ addi r1, r1, 0x20
+/* 801D3BB0 001CF810 4E 80 00 20 */ blr
|