summaryrefslogtreecommitdiff
path: root/asm/SDK/NTR/math.s
blob: 7daffd2bc4ad57cc42c657afe8f5158af89dd6d1 (plain)
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
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global MATH_CountPopulation
MATH_CountPopulation:
/* 802EE98C 002EA5EC  3C C0 55 55 */	lis r6, 0x55555555@ha
/* 802EE990 002EA5F0  3C A0 33 33 */	lis r5, 0x33333333@ha
/* 802EE994 002EA5F4  54 67 F8 7E */	srwi r7, r3, 1
/* 802EE998 002EA5F8  3C 80 0F 0F */	lis r4, 0x0F0F0F0F@ha
/* 802EE99C 002EA5FC  38 06 55 55 */	addi r0, r6, 0x55555555@l
/* 802EE9A0 002EA600  38 A5 33 33 */	addi r5, r5, 0x33333333@l
/* 802EE9A4 002EA604  7C E6 00 38 */	and r6, r7, r0
/* 802EE9A8 002EA608  38 04 0F 0F */	addi r0, r4, 0x0F0F0F0F@l
/* 802EE9AC 002EA60C  7C 86 18 50 */	subf r4, r6, r3
/* 802EE9B0 002EA610  54 83 F0 BE */	srwi r3, r4, 2
/* 802EE9B4 002EA614  7C 84 28 38 */	and r4, r4, r5
/* 802EE9B8 002EA618  7C 63 28 38 */	and r3, r3, r5
/* 802EE9BC 002EA61C  7C 84 1A 14 */	add r4, r4, r3
/* 802EE9C0 002EA620  54 83 E1 3E */	srwi r3, r4, 4
/* 802EE9C4 002EA624  7C 84 1A 14 */	add r4, r4, r3
/* 802EE9C8 002EA628  7C 84 00 38 */	and r4, r4, r0
/* 802EE9CC 002EA62C  54 80 C2 3E */	srwi r0, r4, 8
/* 802EE9D0 002EA630  7C 84 02 14 */	add r4, r4, r0
/* 802EE9D4 002EA634  54 80 84 3E */	srwi r0, r4, 0x10
/* 802EE9D8 002EA638  7C 84 02 14 */	add r4, r4, r0
/* 802EE9DC 002EA63C  54 83 06 3E */	clrlwi r3, r4, 0x18
/* 802EE9E0 002EA640  4E 80 00 20 */	blr