Mercurial > pub > dyncall > dyncall
diff dyncallback/dyncall_callback_ppc32.S @ 239:c04be81f4874
- whitespace cleanup in ppc32 asm files
author | Tassilo Philipp |
---|---|
date | Tue, 02 May 2017 03:49:43 +0200 |
parents | 3e629dc19168 |
children | 891e8ba15862 |
line wrap: on
line diff
--- a/dyncallback/dyncall_callback_ppc32.S Tue May 02 03:00:55 2017 +0200 +++ b/dyncallback/dyncall_callback_ppc32.S Tue May 02 03:49:43 2017 +0200 @@ -25,16 +25,16 @@ #include "../portasm/portasm-ppc.S" - .machine ppc - .text - .align 2 +.machine ppc +.text +.align 2 /* Struct DCCallback */ -DCB_THUNK = 0 -DCB_HANDLER = 24 -DCB_CLEANUP = 28 -DCB_USERDATA = 32 +DCB_THUNK = 0 +DCB_HANDLER = 24 +DCB_CLEANUP = 28 +DCB_USERDATA = 32 /* Struct DCArgs */ @@ -74,30 +74,30 @@ /* -------------------------------------------------------------------------- Input: - r1 Stack Pointer - r3-r10 Integer Arguments - f1-f8 Floating-point Arguments - r11 Thunk Pointer + r1 Stack Pointer + r3-r10 Integer Arguments + f1-f8 Floating-point Arguments + r11 Thunk Pointer */ - + /* prolog */ - mflr r0 - stw r0, SP_LR(r1) /* store return address */ - addi r12, r1, SP_PAR /* temporary r12: parameter area on callers stack frame */ + mflr r0 + stw r0, SP_LR(r1) /* store return address */ + addi r12,r1, SP_PAR /* temporary r12: parameter area on callers stack frame */ stwu r1, -FRAMESIZE(r1) - - stw r3, SP_IREGS + 0*4(r1) /* spill 8 integer parameter registers */ - stw r4, SP_IREGS + 1*4(r1) - stw r5, SP_IREGS + 2*4(r1) + + stw r3, SP_IREGS + 0*4(r1) /* spill 8 integer parameter registers */ + stw r4, SP_IREGS + 1*4(r1) + stw r5, SP_IREGS + 2*4(r1) stw r6, SP_IREGS + 3*4(r1) stw r7, SP_IREGS + 4*4(r1) stw r8, SP_IREGS + 5*4(r1) stw r9, SP_IREGS + 6*4(r1) stw r10,SP_IREGS + 7*4(r1) - - stfd f1, SP_FREGS + 0*8(r1) /* spill 8 (of 13) float parameter registers */ + + stfd f1, SP_FREGS + 0*8(r1) /* spill 8 (of 13) float parameter registers */ stfd f2, SP_FREGS + 1*8(r1) stfd f3, SP_FREGS + 2*8(r1) stfd f4, SP_FREGS + 3*8(r1) @@ -106,39 +106,39 @@ stfd f7, SP_FREGS + 6*8(r1) stfd f8, SP_FREGS + 7*8(r1) - stw r12, SP_SP(r1) /* init stack pointer */ - xor r0, r0, r0 /* init register counters */ - stw r0, SP_ICNT(r1) - stw r0, SP_FCNT(r1) - stw r0, SP_RESULT(r1) /* init result object */ - stw r0, SP_RESULT + 4(r1) - /* invoke callback handler */ - mr r3, r11 /* arg 1: DCCallback* pcb (r11 is thunk pointer) */ - addi r4, r1, SP_ARGS /* arg 2: DCArgs* args */ - addi r5, r1, SP_RESULT /* arg 3: DCValue* result */ - lwz r6, DCB_USERDATA(r11) /* arg 4: void* userdata */ + stw r12,SP_SP(r1) /* init stack pointer */ + xor r0, r0, r0 /* init register counters */ + stw r0, SP_ICNT(r1) + stw r0, SP_FCNT(r1) + stw r0, SP_RESULT(r1) /* init result object */ + stw r0, SP_RESULT + 4(r1) + /* invoke callback handler */ + mr r3, r11 /* arg 1: DCCallback* pcb (r11 = thunk ptr) */ + addi r4, r1, SP_ARGS /* arg 2: DCArgs* args */ + addi r5, r1, SP_RESULT /* arg 3: DCValue* result */ + lwz r6, DCB_USERDATA(r11) /* arg 4: void* userdata */ - /* branch-and-link to DCCallback.handler */ - lwz r12, DCB_HANDLER(r11) - mtctr r12 + /* branch-and-link to DCCallback.handler */ + lwz r12, DCB_HANDLER(r11) + mtctr r12 bctrl - /* check result type */ - cmpi cr0, r3, 'f - beq .f32 - cmpi cr0, r3, 'd - beq .f64 + /* check result type */ + cmpi cr0, r3, 'f + beq .f32 + cmpi cr0, r3, 'd + beq .f64 .i64: - lwz r3, SP_RESULT (r1) - lwz r4, SP_RESULT + 4 (r1) + lwz r3, SP_RESULT (r1) + lwz r4, SP_RESULT + 4 (r1) .end: - lwz r1, SP_PREV(r1) /* restore stack pointer */ - lwz r0, SP_LR(r1) /* load link register with return address */ - mtlr r0 - blr /* branch back to link register */ -.f32: - lfs f1, SP_RESULT(r1) - b .end + lwz r1, SP_PREV(r1) /* restore stack pointer */ + lwz r0, SP_LR(r1) /* load link register with return address */ + mtlr r0 + blr /* branch back to link register */ +.f32: + lfs f1, SP_RESULT(r1) + b .end .f64: - lfd f1, SP_RESULT(r1) - b .end - + lfd f1, SP_RESULT(r1) + b .end +