mirror of
https://github.com/elliotnunn/powermac-rom.git
synced 2024-06-11 04:29:37 +00:00
archive
This commit is contained in:
parent
0760db7b89
commit
45787c7d0a
|
@ -1885,7 +1885,7 @@ finish_old_world
|
||||||
sync
|
sync
|
||||||
|
|
||||||
setup_0x1160
|
setup_0x1160
|
||||||
bl PagingFunc1
|
bl GetMeAccessToThisPage ; Page *r27 // success cr0.eq
|
||||||
lwz r27, 0x0630(r1)
|
lwz r27, 0x0630(r1)
|
||||||
lwz r27, 0x009c(r27)
|
lwz r27, 0x009c(r27)
|
||||||
bl PagingL2PWithoutBATs
|
bl PagingL2PWithoutBATs
|
||||||
|
@ -1897,7 +1897,7 @@ setup_0x1160
|
||||||
sync
|
sync
|
||||||
|
|
||||||
setup_0x1188
|
setup_0x1188
|
||||||
bl PagingFunc1
|
bl GetMeAccessToThisPage ; Page *r27 // success cr0.eq
|
||||||
lwz r27, 0x0630(r1)
|
lwz r27, 0x0630(r1)
|
||||||
lwz r27, 0x00a0(r27)
|
lwz r27, 0x00a0(r27)
|
||||||
lis r19, 0x00
|
lis r19, 0x00
|
||||||
|
@ -1914,7 +1914,7 @@ setup_0x11a0
|
||||||
sync
|
sync
|
||||||
|
|
||||||
setup_0x11bc
|
setup_0x11bc
|
||||||
bl PagingFunc1
|
bl GetMeAccessToThisPage ; Page *r27 // success cr0.eq
|
||||||
cmplw r27, r19
|
cmplw r27, r19
|
||||||
addi r27, r27, -0x1000
|
addi r27, r27, -0x1000
|
||||||
bgt setup_0x11a0
|
bgt setup_0x11a0
|
||||||
|
@ -1929,7 +1929,7 @@ setup_0x11bc
|
||||||
sync
|
sync
|
||||||
|
|
||||||
setup_0x11f0
|
setup_0x11f0
|
||||||
bl PagingFunc1
|
bl GetMeAccessToThisPage ; Page *r27 // success cr0.eq
|
||||||
|
|
||||||
_log 'Nanokernel replaced. Returning to boot process^n'
|
_log 'Nanokernel replaced. Returning to boot process^n'
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ ecDataPageFault equ 20 ; ExceptionMemRetried
|
||||||
ecDataWriteViolation equ 21 ; ExceptionMemRetried
|
ecDataWriteViolation equ 21 ; ExceptionMemRetried
|
||||||
ecDataSupAccessViolation equ 22 ; ExceptionMemRetried
|
ecDataSupAccessViolation equ 22 ; ExceptionMemRetried
|
||||||
ecDataSupWriteViolation equ 23 ; ?
|
ecDataSupWriteViolation equ 23 ; ?
|
||||||
ecUnknown24 equ 24 ; ExceptionMemRetried
|
ecAlignment equ 24 ; ExceptionMemRetried
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1070,7 +1070,7 @@ IntAlignment ; OUTSIDE REFERER
|
||||||
|
|
||||||
addi r23, r1, KDP.VecBaseMemRetry
|
addi r23, r1, KDP.VecBaseMemRetry
|
||||||
|
|
||||||
bne major_0x03548_0x20
|
bne ThrowAlignmentException
|
||||||
|
|
||||||
; DSISR for misaligned X-form instruction:
|
; DSISR for misaligned X-form instruction:
|
||||||
|
|
||||||
|
@ -1087,7 +1087,7 @@ FDP_TableBase equ 0xa00
|
||||||
|
|
||||||
; Get the FDP and F.O. if we were in MSR_LE mode
|
; Get the FDP and F.O. if we were in MSR_LE mode
|
||||||
lwz r25, KDP.PA_FDP(r1)
|
lwz r25, KDP.PA_FDP(r1)
|
||||||
bne major_0x03548_0x20
|
bne ThrowAlignmentException
|
||||||
|
|
||||||
|
|
||||||
rlwinm. r21, r27, 17, 30, 31 ; evaluate hi two bits of XO (or 0 for d-form?)
|
rlwinm. r21, r27, 17, 30, 31 ; evaluate hi two bits of XO (or 0 for d-form?)
|
||||||
|
@ -1139,7 +1139,8 @@ FDP_TableBase equ 0xa00
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
IcbiNextBlock ; msr r14 // ; OUTSIDE REFERER
|
IcbiNextBlock ; msr r14 //
|
||||||
|
|
||||||
sync
|
sync
|
||||||
mtmsr r14
|
mtmsr r14
|
||||||
isync
|
isync
|
||||||
|
@ -1149,14 +1150,18 @@ IcbiNextBlock ; msr r14 // ; OUTSIDE REFERER
|
||||||
isync
|
isync
|
||||||
blr
|
blr
|
||||||
|
|
||||||
major_0x03548_0x20 ; OUTSIDE REFERER
|
|
||||||
li r8, 0x00
|
ThrowAlignmentException
|
||||||
lis r17, -0x100
|
|
||||||
|
li r8, 0
|
||||||
|
lis r17, 0xFF00
|
||||||
mtcr r8
|
mtcr r8
|
||||||
mr r19, r18
|
mr r19, r18
|
||||||
rlwimi r17, r27, 7, 31, 31
|
|
||||||
xori r17, r17, 0x01
|
rlwimi r17, r27, 7, 31, 31 ; why ~DSISR[6]... those DSISR bytes are reserved?
|
||||||
li r8, ecUnknown24
|
xori r17, r17, 1
|
||||||
|
|
||||||
|
li r8, ecAlignment
|
||||||
b ExceptionMemRetried
|
b ExceptionMemRetried
|
||||||
|
|
||||||
|
|
||||||
|
@ -1250,14 +1255,18 @@ MemRetryDSI_0x100
|
||||||
beql IntPanicIsland
|
beql IntPanicIsland
|
||||||
mfsprg r28, 2
|
mfsprg r28, 2
|
||||||
mtlr r28
|
mtlr r28
|
||||||
bne cr7, MemRetryDSI_0x144
|
|
||||||
|
bc BO_IF_NOT, 30, MemRetryDSI_0x144
|
||||||
|
|
||||||
|
; "Ignore write to ROM", for example
|
||||||
mfspr r28, srr0
|
mfspr r28, srr0
|
||||||
addi r28, r28, 0x04
|
addi r28, r28, 4
|
||||||
lwz r26, 0x0e90(r1)
|
lwz r26, KDP.NanoKernelInfo + NKNanoKernelInfo.QuietWriteCount(r1)
|
||||||
mtspr srr0, r28
|
mtspr srr0, r28
|
||||||
addi r26, r26, 0x01
|
addi r26, r26, 1
|
||||||
stw r26, 0x0e90(r1)
|
stw r26, KDP.NanoKernelInfo + NKNanoKernelInfo.QuietWriteCount(r1)
|
||||||
b MemRetryDSI_0x19c
|
|
||||||
|
b MemRetryDSI_GracefulExit
|
||||||
|
|
||||||
MemRetryDSI_0x144
|
MemRetryDSI_0x144
|
||||||
andi. r28, r31, 0x03
|
andi. r28, r31, 0x03
|
||||||
|
@ -1285,7 +1294,7 @@ MemRetryDSI_0x158
|
||||||
mtlr r28
|
mtlr r28
|
||||||
mtspr srr1, r29
|
mtspr srr1, r29
|
||||||
|
|
||||||
MemRetryDSI_0x19c
|
MemRetryDSI_GracefulExit
|
||||||
mfsprg r1, 1
|
mfsprg r1, 1
|
||||||
rlwinm r26, r25, 30, 24, 31
|
rlwinm r26, r25, 30, 24, 31
|
||||||
rfi
|
rfi
|
||||||
|
@ -1296,15 +1305,18 @@ MemRetryDSI_0x1c8
|
||||||
andis. r28, r31, 0x8010
|
andis. r28, r31, 0x8010
|
||||||
bne MemRetryMachineCheck_0x14c
|
bne MemRetryMachineCheck_0x14c
|
||||||
|
|
||||||
_Lock PSA.HTABLock, scratch1=r28, scratch2=r31
|
_Lock PSA.HTABLock, scratch1=r28, scratch2=r31
|
||||||
|
bl GetMeAccessToThisPage ; Page *r27 // success cr0.eq
|
||||||
bl PagingFunc1
|
|
||||||
_AssertAndRelease PSA.HTABLock, scratch=r28
|
_AssertAndRelease PSA.HTABLock, scratch=r28
|
||||||
|
|
||||||
mfsprg r28, 2
|
mfsprg r28, 2
|
||||||
mtlr r28
|
mtlr r28
|
||||||
beq MemRetryDSI_0x19c
|
|
||||||
|
beq MemRetryDSI_GracefulExit
|
||||||
|
|
||||||
li r8, ecDataInvalidAddress
|
li r8, ecDataInvalidAddress
|
||||||
bge ExceptionMemRetried
|
bge ExceptionMemRetried
|
||||||
|
|
||||||
li r8, ecDataPageFault
|
li r8, ecDataPageFault
|
||||||
b ExceptionMemRetried
|
b ExceptionMemRetried
|
||||||
|
|
||||||
|
@ -1337,10 +1349,13 @@ MemRetryMachineCheck ; OUTSIDE REFERER
|
||||||
_log '^n'
|
_log '^n'
|
||||||
|
|
||||||
mr r8, r28
|
mr r8, r28
|
||||||
|
|
||||||
lwz r1, EWA.PA_KDP(r1)
|
lwz r1, EWA.PA_KDP(r1)
|
||||||
lwz r27, 0x0694(r1)
|
lwz r27, 0x0694(r1)
|
||||||
|
|
||||||
subf r28, r19, r27
|
subf r28, r19, r27
|
||||||
cmpwi r28, -0x10
|
cmpwi r28, -0x10
|
||||||
|
|
||||||
blt MemRetryMachineCheck_0x14c
|
blt MemRetryMachineCheck_0x14c
|
||||||
cmpwi r28, 0x10
|
cmpwi r28, 0x10
|
||||||
bgt MemRetryMachineCheck_0x14c
|
bgt MemRetryMachineCheck_0x14c
|
||||||
|
@ -1350,7 +1365,9 @@ MemRetryMachineCheck ; OUTSIDE REFERER
|
||||||
lwz r28, 0x0e98(r1)
|
lwz r28, 0x0e98(r1)
|
||||||
addi r28, r28, 0x01
|
addi r28, r28, 0x01
|
||||||
stw r28, 0x0e98(r1)
|
stw r28, 0x0e98(r1)
|
||||||
|
|
||||||
lwz r29, 0x0698(r1)
|
lwz r29, 0x0698(r1)
|
||||||
|
|
||||||
li r28, 0x00
|
li r28, 0x00
|
||||||
stw r28, 0x0000(r29)
|
stw r28, 0x0000(r29)
|
||||||
mfspr r28, pvr
|
mfspr r28, pvr
|
||||||
|
@ -1394,7 +1411,7 @@ IntISI ; OUTSIDE REFERER
|
||||||
_Lock PSA.HTABLock, scratch1=r28, scratch2=r31
|
_Lock PSA.HTABLock, scratch1=r28, scratch2=r31
|
||||||
|
|
||||||
mr r27, r10
|
mr r27, r10
|
||||||
bl PagingFunc1
|
bl GetMeAccessToThisPage ; Page *r27 // success cr0.eq
|
||||||
_AssertAndRelease PSA.HTABLock, scratch=r28
|
_AssertAndRelease PSA.HTABLock, scratch=r28
|
||||||
mfsprg r8, 0
|
mfsprg r8, 0
|
||||||
bne major_0x039dc
|
bne major_0x039dc
|
||||||
|
@ -1499,7 +1516,7 @@ PIHDSI ; OUTSIDE REFERER
|
||||||
_Lock PSA.HTABLock, scratch1=r28, scratch2=r31
|
_Lock PSA.HTABLock, scratch1=r28, scratch2=r31
|
||||||
|
|
||||||
mfspr r27, dar
|
mfspr r27, dar
|
||||||
bl PagingFunc1
|
bl GetMeAccessToThisPage ; Page *r27 // success cr0.eq
|
||||||
_AssertAndRelease PSA.HTABLock, scratch=r28
|
_AssertAndRelease PSA.HTABLock, scratch=r28
|
||||||
mfsprg r8, 0
|
mfsprg r8, 0
|
||||||
bne major_0x039dc
|
bne major_0x039dc
|
||||||
|
|
|
@ -5,7 +5,7 @@ Local_Panic set *
|
||||||
|
|
||||||
align 5
|
align 5
|
||||||
|
|
||||||
PagingFunc1 ; OUTSIDE REFERER
|
GetMeAccessToThisPage ; Page *r27 // success cr0.eq ; OUTSIDE REFERER
|
||||||
mfsprg r29, 0
|
mfsprg r29, 0
|
||||||
mflr r28
|
mflr r28
|
||||||
stw r8, -0x00dc(r29)
|
stw r8, -0x00dc(r29)
|
||||||
|
|
|
@ -940,7 +940,7 @@ print_memory_logical_0x8
|
||||||
|
|
||||||
print_memory_logical_0x24
|
print_memory_logical_0x24
|
||||||
mr r27, r16
|
mr r27, r16
|
||||||
bl PagingFunc1
|
bl GetMeAccessToThisPage ; Page *r27 // success cr0.eq
|
||||||
beq print_memory_logical_0x5c
|
beq print_memory_logical_0x5c
|
||||||
blt print_memory_logical_0x48
|
blt print_memory_logical_0x48
|
||||||
_log '..'
|
_log '..'
|
||||||
|
@ -974,7 +974,7 @@ print_memory_logical_0x84
|
||||||
|
|
||||||
print_memory_logical_0xac
|
print_memory_logical_0xac
|
||||||
mr r27, r16
|
mr r27, r16
|
||||||
bl PagingFunc1
|
bl GetMeAccessToThisPage ; Page *r27 // success cr0.eq
|
||||||
li r8, 0x20
|
li r8, 0x20
|
||||||
bne print_memory_logical_0xdc
|
bne print_memory_logical_0xdc
|
||||||
bl PagingL2PWithoutBATs
|
bl PagingL2PWithoutBATs
|
||||||
|
|
|
@ -1868,7 +1868,7 @@ VMLastExportedFunc_0xd7
|
||||||
mr r14, r26
|
mr r14, r26
|
||||||
mflr r6
|
mflr r6
|
||||||
slwi r27, r4, 12
|
slwi r27, r4, 12
|
||||||
bl PagingFunc1
|
bl GetMeAccessToThisPage ; Page *r27 // success cr0.eq
|
||||||
bnel Local_Panic
|
bnel Local_Panic
|
||||||
mr r27, r7
|
mr r27, r7
|
||||||
mr r29, r8
|
mr r29, r8
|
||||||
|
|
137
al2.txt
Normal file
137
al2.txt
Normal file
|
@ -0,0 +1,137 @@
|
||||||
|
MRLoad1241
|
||||||
|
lbz mrScratch, -8(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 2
|
||||||
|
rlwimi mrHigh, mrScratch, 8, 0xFF000000
|
||||||
|
|
||||||
|
MRLoad241
|
||||||
|
lhz mrScratch, -7(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 4
|
||||||
|
rlwimi mrHigh, mrScratch, 24, 0x00FFFF00
|
||||||
|
b MRLoad41
|
||||||
|
|
||||||
|
MRLoad141
|
||||||
|
lbz mrScratch, -6(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 2
|
||||||
|
rlwimi mrHigh, mrScratch, 24, 0x0000FF00
|
||||||
|
|
||||||
|
MRLoad41
|
||||||
|
lwz mrScratch, -5(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 8
|
||||||
|
rlwimi mrHigh, mrScratch, 24, 0x000000FF
|
||||||
|
rlwimi mrLow, mrScratch, 24, 0xFFFFFF00
|
||||||
|
b MRLoad1
|
||||||
|
|
||||||
|
MRLoad1421
|
||||||
|
lbz mrScratch, -8(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 2
|
||||||
|
rlwimi mrHigh, mrScratch, 8, 0xFF000000
|
||||||
|
|
||||||
|
MRLoad421
|
||||||
|
lwz mrScratch, -7(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 8
|
||||||
|
rlwimi mrHigh, mrScratch, 8, 0x00FFFFFF
|
||||||
|
rlwimi mrLow, mrScratch, 8, 0xFF000000
|
||||||
|
b MRLoad21
|
||||||
|
|
||||||
|
MRLoad1221
|
||||||
|
lbz mrScratch, -6(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 2
|
||||||
|
rlwimi mrHigh, mrScratch, 24, 0x0000FF00
|
||||||
|
|
||||||
|
MRLoad221
|
||||||
|
lhz mrScratch, -5(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 4
|
||||||
|
rlwimi mrHigh, mrScratch, 8, 0x000000FF
|
||||||
|
rlwimi mrLow, mrScratch, 8, 0xFF000000
|
||||||
|
b MRLoad21
|
||||||
|
|
||||||
|
MRLoad121
|
||||||
|
lbz mrScratch, -4(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 2
|
||||||
|
rlwimi mrLow, mrScratch, 8, 0xFF000000
|
||||||
|
|
||||||
|
MRLoad21
|
||||||
|
lhz mrScratch, -3(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 4
|
||||||
|
rlwimi mrLow, mrScratch, 24, 0x00FFFF00
|
||||||
|
b MRLoad1
|
||||||
|
|
||||||
|
MRLoad11
|
||||||
|
lbz mrScratch, -2(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 2
|
||||||
|
rlwimi mrLow, mrScratch, 24, 0x0000FF00
|
||||||
|
|
||||||
|
MRLoad1
|
||||||
|
lbz mrScratch, -1(mrBase)
|
||||||
|
rlwimi mrLow, mrScratch, 0, 0x000000FF
|
||||||
|
b MRExecuted
|
||||||
|
|
||||||
|
MRLoad242
|
||||||
|
lhz mrScratch, -8(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 4
|
||||||
|
rlwimi mrHigh, mrScratch, 16, 0xFFFF0000
|
||||||
|
b MRLoad42
|
||||||
|
|
||||||
|
MRLoad142
|
||||||
|
lbz mrScratch, -7(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 2
|
||||||
|
rlwimi mrHigh, mrScratch, 16, 0x00FF0000
|
||||||
|
|
||||||
|
MRLoad42
|
||||||
|
lwz mrScratch, -6(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 8
|
||||||
|
rlwimi mrHigh, mrScratch, 16, 0x0000FFFF
|
||||||
|
rlwimi mrLow, mrScratch, 16, 0xFFFF0000
|
||||||
|
b MRLoad2
|
||||||
|
|
||||||
|
MRLoad122
|
||||||
|
lbz mrScratch, -5(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 2
|
||||||
|
rlwimi mrHigh, mrScratch, 0, 0x000000FF
|
||||||
|
b MRLoad22
|
||||||
|
|
||||||
|
MRLoad12
|
||||||
|
lbz mrScratch, -3(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 2
|
||||||
|
rlwimi mrLow, mrScratch, 16, 0x00FF0000
|
||||||
|
b MRLoad2
|
||||||
|
|
||||||
|
MRLoad44
|
||||||
|
lwz mrHigh, -8(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 8
|
||||||
|
lwz mrLow, -4(mrBase)
|
||||||
|
b MRExecuted
|
||||||
|
|
||||||
|
MRLoad124
|
||||||
|
lbz mrScratch, -7(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 2
|
||||||
|
rlwimi mrHigh, mrScratch, 16, 0x00FF0000
|
||||||
|
|
||||||
|
MRLoad24
|
||||||
|
lhz mrScratch, -6(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 4
|
||||||
|
rlwimi mrHigh, mrScratch, 0, 0x0000FFFF
|
||||||
|
lwz mrLow, -4(mrBase)
|
||||||
|
b MRExecuted
|
||||||
|
|
||||||
|
MRLoad14
|
||||||
|
lbz mrScratch, -5(mrBase)
|
||||||
|
subi mrCtr, mrCtr, 2
|
||||||
|
rlwimi mrHigh, mrScratch, 0, 0x000000FF
|
||||||
|
lwz mrLow, -4(mrBase)
|
||||||
|
b MRExecuted
|
||||||
|
|
||||||
|
MRLoad4
|
||||||
|
bc BO_IF, 23, @atomic
|
||||||
|
lwz mrLow, -4(mrBase)
|
||||||
|
b MRExecuted
|
||||||
|
@atomic
|
||||||
|
li mrScratch, -4
|
||||||
|
lwarx mrScratch, mrBase
|
||||||
|
b MRExecuted
|
||||||
|
|
||||||
|
MRLoad8
|
||||||
|
lwz mrLow, -8(mrBase)
|
||||||
|
lwz mrHigh, -4(mrBase)
|
||||||
|
b MRExecuted
|
||||||
|
|
|
@ -151,6 +151,12 @@ MRLoadVector
|
||||||
_bset r11, r11, 6
|
_bset r11, r11, 6
|
||||||
blr
|
blr
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
MRStore1241
|
MRStore1241
|
||||||
srwi mrScratch, mrHigh, 24
|
srwi mrScratch, mrHigh, 24
|
||||||
stb mrScratch, -8(mrBase)
|
stb mrScratch, -8(mrBase)
|
||||||
|
|
314
halfwits.s
Normal file
314
halfwits.s
Normal file
|
@ -0,0 +1,314 @@
|
||||||
|
FDP_03ec
|
||||||
|
lbz r23, -0x0008(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
insrwi r20, r23, 8, 0
|
||||||
|
FDP_03f8
|
||||||
|
lhz r23, -0x0007(r19)
|
||||||
|
subi r17, r17, 4
|
||||||
|
insrwi r20, r23, 16, 8
|
||||||
|
b FDP_0414
|
||||||
|
|
||||||
|
|
||||||
|
FDP_0408
|
||||||
|
lbz r23, -0x0006(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
insrwi r20, r23, 8, 16
|
||||||
|
FDP_0414
|
||||||
|
lwz r23, -0x0005(r19)
|
||||||
|
subi r17, r17, 8
|
||||||
|
inslwi r20, r23, 8, 24
|
||||||
|
insrwi r21, r23, 24, 0
|
||||||
|
b FDP_0490
|
||||||
|
|
||||||
|
|
||||||
|
FDP_0428
|
||||||
|
lbz r23, -0x0008(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
insrwi r20, r23, 8, 0
|
||||||
|
FDP_0434
|
||||||
|
lwz r23, -0x0007(r19)
|
||||||
|
subi r17, r17, 8
|
||||||
|
inslwi r20, r23, 24, 8
|
||||||
|
insrwi r21, r23, 8, 0
|
||||||
|
b FDP_0474
|
||||||
|
|
||||||
|
|
||||||
|
FDP_0448
|
||||||
|
lbz r23, -0x0006(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
insrwi r20, r23, 8, 16
|
||||||
|
FDP_0454
|
||||||
|
lhz r23, -0x0005(r19)
|
||||||
|
subi r17, r17, 4
|
||||||
|
rlwimi r20, r23, 24, 24, 31
|
||||||
|
insrwi r21, r23, 8, 0
|
||||||
|
b FDP_0474
|
||||||
|
|
||||||
|
|
||||||
|
FDP_0468
|
||||||
|
lbz r23, -0x0004(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
insrwi r21, r23, 8, 0
|
||||||
|
FDP_0474
|
||||||
|
lhz r23, -0x0003(r19)
|
||||||
|
subi r17, r17, 4
|
||||||
|
insrwi r21, r23, 16, 8
|
||||||
|
b FDP_0490
|
||||||
|
|
||||||
|
|
||||||
|
FDP_0484
|
||||||
|
lbz r23, -0x0002(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
insrwi r21, r23, 8, 16
|
||||||
|
FDP_0490
|
||||||
|
lbz r23, -0x0001(r19)
|
||||||
|
insrwi r21, r23, 8, 24
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_049c
|
||||||
|
lhz r23, -0x0008(r19)
|
||||||
|
subi r17, r17, 4
|
||||||
|
insrwi r20, r23, 16, 0
|
||||||
|
b FDP_04B8
|
||||||
|
|
||||||
|
|
||||||
|
FDP_04ac
|
||||||
|
lbz r23, -0x0007(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
insrwi r20, r23, 8, 8
|
||||||
|
FDP_04b8
|
||||||
|
lwz r23, -0x0006(r19)
|
||||||
|
subi r17, r17, 8
|
||||||
|
inslwi r20, r23, 16, 16
|
||||||
|
insrwi r21, r23, 16, 0
|
||||||
|
b FDP_0114
|
||||||
|
|
||||||
|
|
||||||
|
FDP_04cc
|
||||||
|
lbz r23, -0x0005(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
insrwi r20, r23, 8, 24
|
||||||
|
b FDP_0108
|
||||||
|
|
||||||
|
|
||||||
|
FDP_04dc
|
||||||
|
lbz r23, -0x0003(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
insrwi r21, r23, 8, 8
|
||||||
|
b FDP_0114
|
||||||
|
|
||||||
|
|
||||||
|
FDP_04ec
|
||||||
|
lwz r20, -0x0008(r19)
|
||||||
|
subi r17, r17, 8
|
||||||
|
lwz r21, -0x0004(r19)
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_04fc
|
||||||
|
lbz r23, -0x0007(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
insrwi r20, r23, 8, 8
|
||||||
|
FDP_0508
|
||||||
|
lhz r23, -0x0006(r19)
|
||||||
|
subi r17, r17, 4
|
||||||
|
insrwi r20, r23, 16, 16
|
||||||
|
lwz r21, -0x0004(r19)
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_051c
|
||||||
|
lbz r23, -0x0005(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
insrwi r20, r23, 8, 24
|
||||||
|
lwz r21, -0x0004(r19)
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_0530
|
||||||
|
bso cr5, FDP_053C
|
||||||
|
lwz r21, -0x0004(r19)
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_053c
|
||||||
|
li r23, -4
|
||||||
|
lwarx r21, r23, r19
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_0548
|
||||||
|
lwz r20, -0x0008(r19)
|
||||||
|
lwz r21, -0x0004(r19)
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_0554
|
||||||
|
clrrwi r23, r25, 10
|
||||||
|
rlwimi r23, r17, 14, 24, 28
|
||||||
|
addi r23, r23, 9760
|
||||||
|
mtlr r23
|
||||||
|
mr r23, r18
|
||||||
|
oris r11, r11, 0x0200
|
||||||
|
blr
|
||||||
|
|
||||||
|
|
||||||
|
FDP_0570
|
||||||
|
srwi r23, r20, 24
|
||||||
|
stb r23, -0x0008(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
FDP_057c
|
||||||
|
srwi r23, r20, 8
|
||||||
|
sth r23, -0x0007(r19)
|
||||||
|
subi r17, r17, 4
|
||||||
|
b FDP_0598
|
||||||
|
|
||||||
|
|
||||||
|
FDP_058c
|
||||||
|
srwi r23, r20, 8
|
||||||
|
stb r23, -0x0006(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
FDP_0598
|
||||||
|
srwi r23, r21, 8
|
||||||
|
insrwi r23, r20, 8, 0
|
||||||
|
stw r23, -0x0005(r19)
|
||||||
|
subi r17, r17, 8
|
||||||
|
stb r21, -0x0001(r19)
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_05b0
|
||||||
|
srwi r23, r20, 24
|
||||||
|
stb r23, -0x0008(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
FDP_05bc
|
||||||
|
srwi r23, r21, 24
|
||||||
|
insrwi r23, r20, 24, 0
|
||||||
|
stw r23, -0x0007(r19)
|
||||||
|
subi r17, r17, 8
|
||||||
|
b FDP_05FC
|
||||||
|
|
||||||
|
|
||||||
|
FDP_05d0
|
||||||
|
srwi r23, r20, 8
|
||||||
|
stb r23, -0x0006(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
FDP_05dc
|
||||||
|
srwi r23, r21, 24
|
||||||
|
insrwi r23, r20, 8, 16
|
||||||
|
sth r23, -0x0005(r19)
|
||||||
|
subi r17, r17, 4
|
||||||
|
b FDP_05FC
|
||||||
|
|
||||||
|
|
||||||
|
FDP_05f0
|
||||||
|
srwi r23, r21, 24
|
||||||
|
stb r23, -0x0004(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
FDP_05fc
|
||||||
|
srwi r23, r21, 8
|
||||||
|
sth r23, -0x0003(r19)
|
||||||
|
subi r17, r17, 4
|
||||||
|
stb r21, -0x0001(r19)
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_0610
|
||||||
|
srwi r23, r21, 8
|
||||||
|
stb r23, -0x0002(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
FDP_061c
|
||||||
|
stb r21, -0x0001(r19)
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_0624
|
||||||
|
srwi r23, r20, 16
|
||||||
|
sth r23, -0x0008(r19)
|
||||||
|
subi r17, r17, 4
|
||||||
|
b FDP_0640
|
||||||
|
|
||||||
|
|
||||||
|
FDP_0634
|
||||||
|
srwi r23, r20, 16
|
||||||
|
stb r23, -0x0007(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
FDP_0640
|
||||||
|
srwi r23, r21, 16
|
||||||
|
insrwi r23, r20, 16, 0
|
||||||
|
stw r23, -0x0006(r19)
|
||||||
|
subi r17, r17, 8
|
||||||
|
sth r21, -0x0002(r19)
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_0658
|
||||||
|
stb r20, -0x0005(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
b FDP_00F4
|
||||||
|
|
||||||
|
|
||||||
|
FDP_0664
|
||||||
|
srwi r23, r21, 16
|
||||||
|
stb r23, -0x0003(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
FDP_0670
|
||||||
|
sth r21, -0x0002(r19)
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_0678
|
||||||
|
stw r20, -0x0008(r19)
|
||||||
|
subi r17, r17, 8
|
||||||
|
stw r21, -0x0004(r19)
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_0688
|
||||||
|
srwi r23, r20, 16
|
||||||
|
stb r23, -0x0007(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
FDP_0694
|
||||||
|
sth r20, -0x0006(r19)
|
||||||
|
subi r17, r17, 4
|
||||||
|
stw r21, -0x0004(r19)
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_06a4
|
||||||
|
stb r20, -0x0005(r19)
|
||||||
|
subi r17, r17, 2
|
||||||
|
stw r21, -0x0004(r19)
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_06b4
|
||||||
|
bso cr5, FDP_06C0
|
||||||
|
stw r21, -0x0004(r19)
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_06c0
|
||||||
|
li r23, -4
|
||||||
|
stwcx. r21, r23, r19
|
||||||
|
isync
|
||||||
|
mfcr r23
|
||||||
|
rlwimi r13, r23, 0, 0, 3
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_06d8
|
||||||
|
stw r20, -0x0008(r19)
|
||||||
|
stw r21, -0x0004(r19)
|
||||||
|
b FDP_011C
|
||||||
|
|
||||||
|
|
||||||
|
FDP_06e4
|
||||||
|
clrrwi r23, r25, 10
|
||||||
|
rlwimi r23, r17, 14, 24, 28
|
||||||
|
addi r23, r23, 10784
|
||||||
|
mtlr r23
|
||||||
|
mr r23, r18
|
||||||
|
oris r11, r11, 0x0200
|
||||||
|
blr
|
104
pdp.py
104
pdp.py
|
@ -85,22 +85,35 @@ def list_perms_ending_with(x):
|
||||||
yield from list_perms_ending_with(nextlet + x)
|
yield from list_perms_ending_with(nextlet + x)
|
||||||
|
|
||||||
|
|
||||||
SPECIAL_LOADSTORE_RETURN_PATHS = ['2', '22']
|
def final_load_list():
|
||||||
|
|
||||||
def final_loadstore_list():
|
|
||||||
"""
|
"""
|
||||||
Big waterfall of loads/stores!
|
Big waterfall of loads!
|
||||||
"""
|
"""
|
||||||
the_list = []
|
the_list = []
|
||||||
|
|
||||||
for ender in '8421':
|
for ender in '8421':
|
||||||
for x in list_perms_ending_with(ender):
|
for x in list_perms_ending_with(ender):
|
||||||
if x not in SPECIAL_LOADSTORE_RETURN_PATHS:
|
if x not in ('2','22'):
|
||||||
the_list.append(x)
|
the_list.append(x)
|
||||||
|
|
||||||
return list(reversed(the_list))
|
return list(reversed(the_list))
|
||||||
|
|
||||||
FINAL_LOADSTORE_LIST = final_loadstore_list()
|
FINAL_LOAD_LIST = final_load_list()
|
||||||
|
|
||||||
|
def final_store_list():
|
||||||
|
"""
|
||||||
|
Big waterfall of stores!
|
||||||
|
"""
|
||||||
|
the_list = []
|
||||||
|
|
||||||
|
for ender in '8421':
|
||||||
|
for x in list_perms_ending_with(ender):
|
||||||
|
if x not in []:
|
||||||
|
the_list.append(x)
|
||||||
|
|
||||||
|
return list(reversed(the_list))
|
||||||
|
|
||||||
|
FINAL_STORE_LIST = final_store_list()
|
||||||
|
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
|
@ -160,7 +173,7 @@ def MRVectorAlignDispatchTable():
|
||||||
|
|
||||||
|
|
||||||
def MRAlignLoads():
|
def MRAlignLoads():
|
||||||
waterfall = FINAL_LOADSTORE_LIST
|
waterfall = FINAL_LOAD_LIST
|
||||||
|
|
||||||
for wi in range(len(waterfall)):
|
for wi in range(len(waterfall)):
|
||||||
sizes = waterfall[wi]
|
sizes = waterfall[wi]
|
||||||
|
@ -230,6 +243,81 @@ def MRAlignLoads():
|
||||||
|
|
||||||
print()
|
print()
|
||||||
|
|
||||||
|
def MRAlignStores():
|
||||||
|
waterfall = FINAL_STORE_LIST
|
||||||
|
|
||||||
|
for wi in range(len(waterfall)):
|
||||||
|
sizes = waterfall[wi]
|
||||||
|
|
||||||
|
label('MRStore' + sizes)
|
||||||
|
|
||||||
|
sizes_as_list = [int(x) for x in sizes]
|
||||||
|
this_size = sizes_as_list[0]
|
||||||
|
total_size = sum(sizes_as_list)
|
||||||
|
remain_size = sum(sizes_as_list[1:])
|
||||||
|
|
||||||
|
|
||||||
MRAlignLoads()
|
# PART 1: load a number of bytes equal to the first element in "sizes"
|
||||||
|
|
||||||
|
inst = {1: 'stb', 2: 'sth', 4: 'stw', 8: 'no way'}[this_size]
|
||||||
|
|
||||||
|
if sizes == '8': # special case
|
||||||
|
directive('stw', 'mrLow', '-8(mrBase)')
|
||||||
|
directive('stw', 'mrHigh', '-4(mrBase)')
|
||||||
|
|
||||||
|
elif remain_size == 4: # straight store!
|
||||||
|
directive(inst, 'mrHigh', '-%d(mrBase)' % total_size)
|
||||||
|
if len(sizes) > 1: directive('subi', 'mrCtr', 'mrCtr', 2 * this_size)
|
||||||
|
|
||||||
|
elif sizes == '4': # special case: emulate lwarx if asked
|
||||||
|
directive('bc', 'BO_IF', 23, '@atomic')
|
||||||
|
directive('stw', 'mrLow', '-4(mrBase)')
|
||||||
|
directive('b', 'MRExecuted')
|
||||||
|
label('@atomic')
|
||||||
|
directive('li', 'mrScratch', -4)
|
||||||
|
directive('stwcx.', 'mrScratch', 'mrBase')
|
||||||
|
directive('isync')
|
||||||
|
directive('mfcr', 'mrScratch')
|
||||||
|
directive('rlwimi', 'r13', 'mrScratch', 0, '0xFF000000')
|
||||||
|
|
||||||
|
else: # arrange intermediate register then store it
|
||||||
|
fiddler = 'rlwinm'
|
||||||
|
|
||||||
|
for regexponent, regname in [(0,'mrLow'), (4,'mrHigh')]:
|
||||||
|
thisexponent = remain_size
|
||||||
|
if regexponent >= thisexponent + this_size: continue
|
||||||
|
if thisexponent >= regexponent + 4: continue
|
||||||
|
|
||||||
|
lshift = (regexponent - thisexponent) * 8
|
||||||
|
|
||||||
|
mask = (1 << (8 * this_size)) - 1
|
||||||
|
|
||||||
|
directive(fiddler, 'mrScratch', regname, normlshift(lshift), '0x%08X' % mask)
|
||||||
|
fiddler = 'rlwimi'
|
||||||
|
|
||||||
|
directive(inst, 'mrScratch', '-%d(mrBase)' % total_size)
|
||||||
|
if len(sizes) > 1: directive('subi', 'mrCtr', 'mrCtr', 2 * this_size)
|
||||||
|
|
||||||
|
|
||||||
|
# PART 2: jump somewhere that will do the rest of the loads in "sizes"
|
||||||
|
|
||||||
|
if wi + 1 < len(waterfall) and waterfall[wi+1] == sizes[1:] and sizes[1:] != '4': # fall through
|
||||||
|
# but beware the special case!
|
||||||
|
pass
|
||||||
|
|
||||||
|
elif len(sizes[1:]) == 1: # special case: inline a single store instead of jumping
|
||||||
|
inst = {1: 'stb', 2: 'sth', 4: 'stw', 8: 'no way'}[remain_size]
|
||||||
|
directive(inst, 'mrLow', '-%d(mrBase)' % remain_size)
|
||||||
|
directive('b', 'MRExecuted')
|
||||||
|
|
||||||
|
elif remain_size == 0: # finished executing
|
||||||
|
directive('b', 'MRExecuted')
|
||||||
|
|
||||||
|
else:
|
||||||
|
directive('b', 'MRStore' + sizes[1:])
|
||||||
|
|
||||||
|
print()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
MRAlignStores()
|
||||||
|
|
3320
translation-remaining.s
Normal file
3320
translation-remaining.s
Normal file
File diff suppressed because it is too large
Load Diff
256
vector stuff.s
Normal file
256
vector stuff.s
Normal file
|
@ -0,0 +1,256 @@
|
||||||
|
lvx v0, 0, r23
|
||||||
|
lvx v1, 0, r23
|
||||||
|
lvx v2, 0, r23
|
||||||
|
lvx v3, 0, r23
|
||||||
|
lvx v4, 0, r23
|
||||||
|
lvx v5, 0, r23
|
||||||
|
lvx v6, 0, r23
|
||||||
|
lvx v7, 0, r23
|
||||||
|
lvx v8, 0, r23
|
||||||
|
lvx v9, 0, r23
|
||||||
|
lvx v10, 0, r23
|
||||||
|
lvx v11, 0, r23
|
||||||
|
lvx v12, 0, r23
|
||||||
|
lvx v13, 0, r23
|
||||||
|
lvx v14, 0, r23
|
||||||
|
lvx v15, 0, r23
|
||||||
|
lvx v16, 0, r23
|
||||||
|
lvx v17, 0, r23
|
||||||
|
lvx v18, 0, r23
|
||||||
|
lvx v19, 0, r23
|
||||||
|
lvx v20, 0, r23
|
||||||
|
lvx v21, 0, r23
|
||||||
|
lvx v22, 0, r23
|
||||||
|
lvx v23, 0, r23
|
||||||
|
lvx v24, 0, r23
|
||||||
|
lvx v25, 0, r23
|
||||||
|
lvx v26, 0, r23
|
||||||
|
lvx v27, 0, r23
|
||||||
|
lvx v28, 0, r23
|
||||||
|
lvx v29, 0, r23
|
||||||
|
lvx v30, 0, r23
|
||||||
|
lvx v31, 0, r23
|
||||||
|
lvebx v0, 0, r23
|
||||||
|
lvebx v1, 0, r23
|
||||||
|
lvebx v2, 0, r23
|
||||||
|
lvebx v3, 0, r23
|
||||||
|
lvebx v4, 0, r23
|
||||||
|
lvebx v5, 0, r23
|
||||||
|
lvebx v6, 0, r23
|
||||||
|
lvebx v7, 0, r23
|
||||||
|
lvebx v8, 0, r23
|
||||||
|
lvebx v9, 0, r23
|
||||||
|
lvebx v10, 0, r23
|
||||||
|
lvebx v11, 0, r23
|
||||||
|
lvebx v12, 0, r23
|
||||||
|
lvebx v13, 0, r23
|
||||||
|
lvebx v14, 0, r23
|
||||||
|
lvebx v15, 0, r23
|
||||||
|
lvebx v16, 0, r23
|
||||||
|
lvebx v17, 0, r23
|
||||||
|
lvebx v18, 0, r23
|
||||||
|
lvebx v19, 0, r23
|
||||||
|
lvebx v20, 0, r23
|
||||||
|
lvebx v21, 0, r23
|
||||||
|
lvebx v22, 0, r23
|
||||||
|
lvebx v23, 0, r23
|
||||||
|
lvebx v24, 0, r23
|
||||||
|
lvebx v25, 0, r23
|
||||||
|
lvebx v26, 0, r23
|
||||||
|
lvebx v27, 0, r23
|
||||||
|
lvebx v28, 0, r23
|
||||||
|
lvebx v29, 0, r23
|
||||||
|
lvebx v30, 0, r23
|
||||||
|
lvebx v31, 0, r23
|
||||||
|
lvehx v0, 0, r23
|
||||||
|
lvehx v1, 0, r23
|
||||||
|
lvehx v2, 0, r23
|
||||||
|
lvehx v3, 0, r23
|
||||||
|
lvehx v4, 0, r23
|
||||||
|
lvehx v5, 0, r23
|
||||||
|
lvehx v6, 0, r23
|
||||||
|
lvehx v7, 0, r23
|
||||||
|
lvehx v8, 0, r23
|
||||||
|
lvehx v9, 0, r23
|
||||||
|
lvehx v10, 0, r23
|
||||||
|
lvehx v11, 0, r23
|
||||||
|
lvehx v12, 0, r23
|
||||||
|
lvehx v13, 0, r23
|
||||||
|
lvehx v14, 0, r23
|
||||||
|
lvehx v15, 0, r23
|
||||||
|
lvehx v16, 0, r23
|
||||||
|
lvehx v17, 0, r23
|
||||||
|
lvehx v18, 0, r23
|
||||||
|
lvehx v19, 0, r23
|
||||||
|
lvehx v20, 0, r23
|
||||||
|
lvehx v21, 0, r23
|
||||||
|
lvehx v22, 0, r23
|
||||||
|
lvehx v23, 0, r23
|
||||||
|
lvehx v24, 0, r23
|
||||||
|
lvehx v25, 0, r23
|
||||||
|
lvehx v26, 0, r23
|
||||||
|
lvehx v27, 0, r23
|
||||||
|
lvehx v28, 0, r23
|
||||||
|
lvehx v29, 0, r23
|
||||||
|
lvehx v30, 0, r23
|
||||||
|
lvehx v31, 0, r23
|
||||||
|
lvewx v0, 0, r23
|
||||||
|
lvewx v1, 0, r23
|
||||||
|
lvewx v2, 0, r23
|
||||||
|
lvewx v3, 0, r23
|
||||||
|
lvewx v4, 0, r23
|
||||||
|
lvewx v5, 0, r23
|
||||||
|
lvewx v6, 0, r23
|
||||||
|
lvewx v7, 0, r23
|
||||||
|
lvewx v8, 0, r23
|
||||||
|
lvewx v9, 0, r23
|
||||||
|
lvewx v10, 0, r23
|
||||||
|
lvewx v11, 0, r23
|
||||||
|
lvewx v12, 0, r23
|
||||||
|
lvewx v13, 0, r23
|
||||||
|
lvewx v14, 0, r23
|
||||||
|
lvewx v15, 0, r23
|
||||||
|
lvewx v16, 0, r23
|
||||||
|
lvewx v17, 0, r23
|
||||||
|
lvewx v18, 0, r23
|
||||||
|
lvewx v19, 0, r23
|
||||||
|
lvewx v20, 0, r23
|
||||||
|
lvewx v21, 0, r23
|
||||||
|
lvewx v22, 0, r23
|
||||||
|
lvewx v23, 0, r23
|
||||||
|
lvewx v24, 0, r23
|
||||||
|
lvewx v25, 0, r23
|
||||||
|
lvewx v26, 0, r23
|
||||||
|
lvewx v27, 0, r23
|
||||||
|
lvewx v28, 0, r23
|
||||||
|
lvewx v29, 0, r23
|
||||||
|
lvewx v30, 0, r23
|
||||||
|
lvewx v31, 0, r23
|
||||||
|
stvx v0, 0, r23
|
||||||
|
stvx v1, 0, r23
|
||||||
|
stvx v2, 0, r23
|
||||||
|
stvx v3, 0, r23
|
||||||
|
stvx v4, 0, r23
|
||||||
|
stvx v5, 0, r23
|
||||||
|
stvx v6, 0, r23
|
||||||
|
stvx v7, 0, r23
|
||||||
|
stvx v8, 0, r23
|
||||||
|
stvx v9, 0, r23
|
||||||
|
stvx v10, 0, r23
|
||||||
|
stvx v11, 0, r23
|
||||||
|
stvx v12, 0, r23
|
||||||
|
stvx v13, 0, r23
|
||||||
|
stvx v14, 0, r23
|
||||||
|
stvx v15, 0, r23
|
||||||
|
stvx v16, 0, r23
|
||||||
|
stvx v17, 0, r23
|
||||||
|
stvx v18, 0, r23
|
||||||
|
stvx v19, 0, r23
|
||||||
|
stvx v20, 0, r23
|
||||||
|
stvx v21, 0, r23
|
||||||
|
stvx v22, 0, r23
|
||||||
|
stvx v23, 0, r23
|
||||||
|
stvx v24, 0, r23
|
||||||
|
stvx v25, 0, r23
|
||||||
|
stvx v26, 0, r23
|
||||||
|
stvx v27, 0, r23
|
||||||
|
stvx v28, 0, r23
|
||||||
|
stvx v29, 0, r23
|
||||||
|
stvx v30, 0, r23
|
||||||
|
stvx v31, 0, r23
|
||||||
|
stvebx v0, 0, r23
|
||||||
|
stvebx v1, 0, r23
|
||||||
|
stvebx v2, 0, r23
|
||||||
|
stvebx v3, 0, r23
|
||||||
|
stvebx v4, 0, r23
|
||||||
|
stvebx v5, 0, r23
|
||||||
|
stvebx v6, 0, r23
|
||||||
|
stvebx v7, 0, r23
|
||||||
|
stvebx v8, 0, r23
|
||||||
|
stvebx v9, 0, r23
|
||||||
|
stvebx v10, 0, r23
|
||||||
|
stvebx v11, 0, r23
|
||||||
|
stvebx v12, 0, r23
|
||||||
|
stvebx v13, 0, r23
|
||||||
|
stvebx v14, 0, r23
|
||||||
|
stvebx v15, 0, r23
|
||||||
|
stvebx v16, 0, r23
|
||||||
|
stvebx v17, 0, r23
|
||||||
|
stvebx v18, 0, r23
|
||||||
|
stvebx v19, 0, r23
|
||||||
|
stvebx v20, 0, r23
|
||||||
|
stvebx v21, 0, r23
|
||||||
|
stvebx v22, 0, r23
|
||||||
|
stvebx v23, 0, r23
|
||||||
|
stvebx v24, 0, r23
|
||||||
|
stvebx v25, 0, r23
|
||||||
|
stvebx v26, 0, r23
|
||||||
|
stvebx v27, 0, r23
|
||||||
|
stvebx v28, 0, r23
|
||||||
|
stvebx v29, 0, r23
|
||||||
|
stvebx v30, 0, r23
|
||||||
|
stvebx v31, 0, r23
|
||||||
|
stvehx v0, 0, r23
|
||||||
|
stvehx v1, 0, r23
|
||||||
|
stvehx v2, 0, r23
|
||||||
|
stvehx v3, 0, r23
|
||||||
|
stvehx v4, 0, r23
|
||||||
|
stvehx v5, 0, r23
|
||||||
|
stvehx v6, 0, r23
|
||||||
|
stvehx v7, 0, r23
|
||||||
|
stvehx v8, 0, r23
|
||||||
|
stvehx v9, 0, r23
|
||||||
|
stvehx v10, 0, r23
|
||||||
|
stvehx v11, 0, r23
|
||||||
|
stvehx v12, 0, r23
|
||||||
|
stvehx v13, 0, r23
|
||||||
|
stvehx v14, 0, r23
|
||||||
|
stvehx v15, 0, r23
|
||||||
|
stvehx v16, 0, r23
|
||||||
|
stvehx v17, 0, r23
|
||||||
|
stvehx v18, 0, r23
|
||||||
|
stvehx v19, 0, r23
|
||||||
|
stvehx v20, 0, r23
|
||||||
|
stvehx v21, 0, r23
|
||||||
|
stvehx v22, 0, r23
|
||||||
|
stvehx v23, 0, r23
|
||||||
|
stvehx v24, 0, r23
|
||||||
|
stvehx v25, 0, r23
|
||||||
|
stvehx v26, 0, r23
|
||||||
|
stvehx v27, 0, r23
|
||||||
|
stvehx v28, 0, r23
|
||||||
|
stvehx v29, 0, r23
|
||||||
|
stvehx v30, 0, r23
|
||||||
|
stvehx v31, 0, r23
|
||||||
|
stvewx v0, 0, r23
|
||||||
|
stvewx v1, 0, r23
|
||||||
|
stvewx v2, 0, r23
|
||||||
|
stvewx v3, 0, r23
|
||||||
|
stvewx v4, 0, r23
|
||||||
|
stvewx v5, 0, r23
|
||||||
|
stvewx v6, 0, r23
|
||||||
|
stvewx v7, 0, r23
|
||||||
|
stvewx v8, 0, r23
|
||||||
|
stvewx v9, 0, r23
|
||||||
|
stvewx v10, 0, r23
|
||||||
|
stvewx v11, 0, r23
|
||||||
|
stvewx v12, 0, r23
|
||||||
|
stvewx v13, 0, r23
|
||||||
|
stvewx v14, 0, r23
|
||||||
|
stvewx v15, 0, r23
|
||||||
|
stvewx v16, 0, r23
|
||||||
|
stvewx v17, 0, r23
|
||||||
|
stvewx v18, 0, r23
|
||||||
|
stvewx v19, 0, r23
|
||||||
|
stvewx v20, 0, r23
|
||||||
|
stvewx v21, 0, r23
|
||||||
|
stvewx v22, 0, r23
|
||||||
|
stvewx v23, 0, r23
|
||||||
|
stvewx v24, 0, r23
|
||||||
|
stvewx v25, 0, r23
|
||||||
|
stvewx v26, 0, r23
|
||||||
|
stvewx v27, 0, r23
|
||||||
|
stvewx v28, 0, r23
|
||||||
|
stvewx v29, 0, r23
|
||||||
|
stvewx v30, 0, r23
|
||||||
|
stvewx v31, 0, r23
|
Loading…
Reference in New Issue
Block a user