diff options
Diffstat (limited to 'asm/libstdc++/extras.s')
-rw-r--r-- | asm/libstdc++/extras.s | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/asm/libstdc++/extras.s b/asm/libstdc++/extras.s new file mode 100644 index 0000000..ba07203 --- /dev/null +++ b/asm/libstdc++/extras.s @@ -0,0 +1,175 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global stricmp
+stricmp:
+/* 801D0A00 001CC660 3C A0 80 42 */ lis r5, lbl_80422D48@ha
+/* 801D0A04 001CC664 38 A5 2D 48 */ addi r5, r5, lbl_80422D48@l
+/* 801D0A08 001CC668 80 C5 00 38 */ lwz r6, 0x38(r5)
+lbl_801D0A0C:
+/* 801D0A0C 001CC66C 88 A3 00 00 */ lbz r5, 0(r3)
+/* 801D0A10 001CC670 38 00 00 00 */ li r0, 0
+/* 801D0A14 001CC674 38 63 00 01 */ addi r3, r3, 1
+/* 801D0A18 001CC678 7C A7 07 75 */ extsb. r7, r5
+/* 801D0A1C 001CC67C 41 80 00 0C */ blt lbl_801D0A28
+/* 801D0A20 001CC680 2C 07 01 00 */ cmpwi r7, 0x100
+/* 801D0A24 001CC684 41 80 00 08 */ blt lbl_801D0A2C
+lbl_801D0A28:
+/* 801D0A28 001CC688 38 00 00 01 */ li r0, 1
+lbl_801D0A2C:
+/* 801D0A2C 001CC68C 2C 00 00 00 */ cmpwi r0, 0
+/* 801D0A30 001CC690 41 82 00 08 */ beq lbl_801D0A38
+/* 801D0A34 001CC694 48 00 00 0C */ b lbl_801D0A40
+lbl_801D0A38:
+/* 801D0A38 001CC698 80 A6 00 10 */ lwz r5, 0x10(r6)
+/* 801D0A3C 001CC69C 7C E5 38 AE */ lbzx r7, r5, r7
+lbl_801D0A40:
+/* 801D0A40 001CC6A0 88 A4 00 00 */ lbz r5, 0(r4)
+/* 801D0A44 001CC6A4 7C E8 07 74 */ extsb r8, r7
+/* 801D0A48 001CC6A8 38 00 00 00 */ li r0, 0
+/* 801D0A4C 001CC6AC 38 84 00 01 */ addi r4, r4, 1
+/* 801D0A50 001CC6B0 7C A7 07 75 */ extsb. r7, r5
+/* 801D0A54 001CC6B4 41 80 00 0C */ blt lbl_801D0A60
+/* 801D0A58 001CC6B8 2C 07 01 00 */ cmpwi r7, 0x100
+/* 801D0A5C 001CC6BC 41 80 00 08 */ blt lbl_801D0A64
+lbl_801D0A60:
+/* 801D0A60 001CC6C0 38 00 00 01 */ li r0, 1
+lbl_801D0A64:
+/* 801D0A64 001CC6C4 2C 00 00 00 */ cmpwi r0, 0
+/* 801D0A68 001CC6C8 41 82 00 08 */ beq lbl_801D0A70
+/* 801D0A6C 001CC6CC 48 00 00 0C */ b lbl_801D0A78
+lbl_801D0A70:
+/* 801D0A70 001CC6D0 80 A6 00 10 */ lwz r5, 0x10(r6)
+/* 801D0A74 001CC6D4 7C E5 38 AE */ lbzx r7, r5, r7
+lbl_801D0A78:
+/* 801D0A78 001CC6D8 7C E0 07 74 */ extsb r0, r7
+/* 801D0A7C 001CC6DC 7C 08 00 00 */ cmpw r8, r0
+/* 801D0A80 001CC6E0 40 80 00 0C */ bge lbl_801D0A8C
+/* 801D0A84 001CC6E4 38 60 FF FF */ li r3, -1
+/* 801D0A88 001CC6E8 4E 80 00 20 */ blr
+lbl_801D0A8C:
+/* 801D0A8C 001CC6EC 40 81 00 0C */ ble lbl_801D0A98
+/* 801D0A90 001CC6F0 38 60 00 01 */ li r3, 1
+/* 801D0A94 001CC6F4 4E 80 00 20 */ blr
+lbl_801D0A98:
+/* 801D0A98 001CC6F8 2C 08 00 00 */ cmpwi r8, 0
+/* 801D0A9C 001CC6FC 40 82 FF 70 */ bne lbl_801D0A0C
+/* 801D0AA0 001CC700 38 60 00 00 */ li r3, 0
+/* 801D0AA4 001CC704 4E 80 00 20 */ blr
+
+.global strncasecmp
+strncasecmp:
+/* 801D0AA8 001CC708 4B FF 93 18 */ b __msl_strnicmp
+
+.global strcmpi
+strcmpi:
+/* 801D0AAC 001CC70C 3C A0 80 42 */ lis r5, lbl_80422D48@ha
+/* 801D0AB0 001CC710 38 A5 2D 48 */ addi r5, r5, lbl_80422D48@l
+/* 801D0AB4 001CC714 80 C5 00 38 */ lwz r6, 0x38(r5)
+lbl_801D0AB8:
+/* 801D0AB8 001CC718 88 A3 00 00 */ lbz r5, 0(r3)
+/* 801D0ABC 001CC71C 38 00 00 00 */ li r0, 0
+/* 801D0AC0 001CC720 38 63 00 01 */ addi r3, r3, 1
+/* 801D0AC4 001CC724 7C A7 07 75 */ extsb. r7, r5
+/* 801D0AC8 001CC728 41 80 00 0C */ blt lbl_801D0AD4
+/* 801D0ACC 001CC72C 2C 07 01 00 */ cmpwi r7, 0x100
+/* 801D0AD0 001CC730 41 80 00 08 */ blt lbl_801D0AD8
+lbl_801D0AD4:
+/* 801D0AD4 001CC734 38 00 00 01 */ li r0, 1
+lbl_801D0AD8:
+/* 801D0AD8 001CC738 2C 00 00 00 */ cmpwi r0, 0
+/* 801D0ADC 001CC73C 41 82 00 08 */ beq lbl_801D0AE4
+/* 801D0AE0 001CC740 48 00 00 0C */ b lbl_801D0AEC
+lbl_801D0AE4:
+/* 801D0AE4 001CC744 80 A6 00 10 */ lwz r5, 0x10(r6)
+/* 801D0AE8 001CC748 7C E5 38 AE */ lbzx r7, r5, r7
+lbl_801D0AEC:
+/* 801D0AEC 001CC74C 88 A4 00 00 */ lbz r5, 0(r4)
+/* 801D0AF0 001CC750 7C E8 07 74 */ extsb r8, r7
+/* 801D0AF4 001CC754 38 00 00 00 */ li r0, 0
+/* 801D0AF8 001CC758 38 84 00 01 */ addi r4, r4, 1
+/* 801D0AFC 001CC75C 7C A7 07 75 */ extsb. r7, r5
+/* 801D0B00 001CC760 41 80 00 0C */ blt lbl_801D0B0C
+/* 801D0B04 001CC764 2C 07 01 00 */ cmpwi r7, 0x100
+/* 801D0B08 001CC768 41 80 00 08 */ blt lbl_801D0B10
+lbl_801D0B0C:
+/* 801D0B0C 001CC76C 38 00 00 01 */ li r0, 1
+lbl_801D0B10:
+/* 801D0B10 001CC770 2C 00 00 00 */ cmpwi r0, 0
+/* 801D0B14 001CC774 41 82 00 08 */ beq lbl_801D0B1C
+/* 801D0B18 001CC778 48 00 00 0C */ b lbl_801D0B24
+lbl_801D0B1C:
+/* 801D0B1C 001CC77C 80 A6 00 10 */ lwz r5, 0x10(r6)
+/* 801D0B20 001CC780 7C E5 38 AE */ lbzx r7, r5, r7
+lbl_801D0B24:
+/* 801D0B24 001CC784 7C E0 07 74 */ extsb r0, r7
+/* 801D0B28 001CC788 7C 08 00 00 */ cmpw r8, r0
+/* 801D0B2C 001CC78C 40 80 00 0C */ bge lbl_801D0B38
+/* 801D0B30 001CC790 38 60 FF FF */ li r3, -1
+/* 801D0B34 001CC794 4E 80 00 20 */ blr
+lbl_801D0B38:
+/* 801D0B38 001CC798 40 81 00 0C */ ble lbl_801D0B44
+/* 801D0B3C 001CC79C 38 60 00 01 */ li r3, 1
+/* 801D0B40 001CC7A0 4E 80 00 20 */ blr
+lbl_801D0B44:
+/* 801D0B44 001CC7A4 2C 08 00 00 */ cmpwi r8, 0
+/* 801D0B48 001CC7A8 40 82 FF 70 */ bne lbl_801D0AB8
+/* 801D0B4C 001CC7AC 38 60 00 00 */ li r3, 0
+/* 801D0B50 001CC7B0 4E 80 00 20 */ blr
+
+.global strcasecmp
+strcasecmp:
+/* 801D0B54 001CC7B4 3C A0 80 42 */ lis r5, lbl_80422D48@ha
+/* 801D0B58 001CC7B8 38 A5 2D 48 */ addi r5, r5, lbl_80422D48@l
+/* 801D0B5C 001CC7BC 80 C5 00 38 */ lwz r6, 0x38(r5)
+lbl_801D0B60:
+/* 801D0B60 001CC7C0 88 A3 00 00 */ lbz r5, 0(r3)
+/* 801D0B64 001CC7C4 38 00 00 00 */ li r0, 0
+/* 801D0B68 001CC7C8 38 63 00 01 */ addi r3, r3, 1
+/* 801D0B6C 001CC7CC 7C A7 07 75 */ extsb. r7, r5
+/* 801D0B70 001CC7D0 41 80 00 0C */ blt lbl_801D0B7C
+/* 801D0B74 001CC7D4 2C 07 01 00 */ cmpwi r7, 0x100
+/* 801D0B78 001CC7D8 41 80 00 08 */ blt lbl_801D0B80
+lbl_801D0B7C:
+/* 801D0B7C 001CC7DC 38 00 00 01 */ li r0, 1
+lbl_801D0B80:
+/* 801D0B80 001CC7E0 2C 00 00 00 */ cmpwi r0, 0
+/* 801D0B84 001CC7E4 41 82 00 08 */ beq lbl_801D0B8C
+/* 801D0B88 001CC7E8 48 00 00 0C */ b lbl_801D0B94
+lbl_801D0B8C:
+/* 801D0B8C 001CC7EC 80 A6 00 10 */ lwz r5, 0x10(r6)
+/* 801D0B90 001CC7F0 7C E5 38 AE */ lbzx r7, r5, r7
+lbl_801D0B94:
+/* 801D0B94 001CC7F4 88 A4 00 00 */ lbz r5, 0(r4)
+/* 801D0B98 001CC7F8 7C E8 07 74 */ extsb r8, r7
+/* 801D0B9C 001CC7FC 38 00 00 00 */ li r0, 0
+/* 801D0BA0 001CC800 38 84 00 01 */ addi r4, r4, 1
+/* 801D0BA4 001CC804 7C A7 07 75 */ extsb. r7, r5
+/* 801D0BA8 001CC808 41 80 00 0C */ blt lbl_801D0BB4
+/* 801D0BAC 001CC80C 2C 07 01 00 */ cmpwi r7, 0x100
+/* 801D0BB0 001CC810 41 80 00 08 */ blt lbl_801D0BB8
+lbl_801D0BB4:
+/* 801D0BB4 001CC814 38 00 00 01 */ li r0, 1
+lbl_801D0BB8:
+/* 801D0BB8 001CC818 2C 00 00 00 */ cmpwi r0, 0
+/* 801D0BBC 001CC81C 41 82 00 08 */ beq lbl_801D0BC4
+/* 801D0BC0 001CC820 48 00 00 0C */ b lbl_801D0BCC
+lbl_801D0BC4:
+/* 801D0BC4 001CC824 80 A6 00 10 */ lwz r5, 0x10(r6)
+/* 801D0BC8 001CC828 7C E5 38 AE */ lbzx r7, r5, r7
+lbl_801D0BCC:
+/* 801D0BCC 001CC82C 7C E0 07 74 */ extsb r0, r7
+/* 801D0BD0 001CC830 7C 08 00 00 */ cmpw r8, r0
+/* 801D0BD4 001CC834 40 80 00 0C */ bge lbl_801D0BE0
+/* 801D0BD8 001CC838 38 60 FF FF */ li r3, -1
+/* 801D0BDC 001CC83C 4E 80 00 20 */ blr
+lbl_801D0BE0:
+/* 801D0BE0 001CC840 40 81 00 0C */ ble lbl_801D0BEC
+/* 801D0BE4 001CC844 38 60 00 01 */ li r3, 1
+/* 801D0BE8 001CC848 4E 80 00 20 */ blr
+lbl_801D0BEC:
+/* 801D0BEC 001CC84C 2C 08 00 00 */ cmpwi r8, 0
+/* 801D0BF0 001CC850 40 82 FF 70 */ bne lbl_801D0B60
+/* 801D0BF4 001CC854 38 60 00 00 */ li r3, 0
+/* 801D0BF8 001CC858 4E 80 00 20 */ blr
|