Ah, I've made Parrot build again on Linux PPC (and make testj only has
the expected t/library/streams.t failure present with make test too).

The attached file works as the eventual src/platform_asm.s file, at
least on my architecture.  I'm not sure how to plug it in to the
generated fileset cleanly, but that's a lot easier than trying to debug
assembly code on a platform you don't have.

Leo, what do you suggest to connect the dots here?

-- c


.macro RESTORE_NONVOLATILE_FLOATS
    lfd    f14, -PPC_JIT_GP_REGISTER_SAVE_SPACE-1*8(r1)
    lfd    f15, -PPC_JIT_GP_REGISTER_SAVE_SPACE-2*8(r1)
    lfd    f16, -PPC_JIT_GP_REGISTER_SAVE_SPACE-3*8(r1)
    lfd    f17, -PPC_JIT_GP_REGISTER_SAVE_SPACE-4*8(r1)
    lfd    f18, -PPC_JIT_GP_REGISTER_SAVE_SPACE-5*8(r1)
    lfd    f19, -PPC_JIT_GP_REGISTER_SAVE_SPACE-6*8(r1)
    lfd    f20, -PPC_JIT_GP_REGISTER_SAVE_SPACE-7*8(r1)
    lfd    f21, -PPC_JIT_GP_REGISTER_SAVE_SPACE-8*8(r1)
    lfd    f22, -PPC_JIT_GP_REGISTER_SAVE_SPACE-9*8(r1)
    lfd    f23, -PPC_JIT_GP_REGISTER_SAVE_SPACE-10*8(r1)
    lfd    f24, -PPC_JIT_GP_REGISTER_SAVE_SPACE-11*8(r1)
    lfd    f25, -PPC_JIT_GP_REGISTER_SAVE_SPACE-12*8(r1)
    lfd    f26, -PPC_JIT_GP_REGISTER_SAVE_SPACE-13*8(r1)
    lfd    f27, -PPC_JIT_GP_REGISTER_SAVE_SPACE-14*8(r1)
    lfd    f28, -PPC_JIT_GP_REGISTER_SAVE_SPACE-15*8(r1)
    lfd    f29, -PPC_JIT_GP_REGISTER_SAVE_SPACE-16*8(r1)
    lfd    f30, -PPC_JIT_GP_REGISTER_SAVE_SPACE-17*8(r1)
    lfd    f31, -PPC_JIT_GP_REGISTER_SAVE_SPACE-18*8(r1)

.endm

.text
        .align  12              
        .globl Parrot_ppc_jit_restore_nonvolatile_registers
Parrot_ppc_jit_restore_nonvolatile_registers:

    lfd     14, -84(1)
    lfd     15, -92(1)
    lfd     16, -100(1)
    lfd     17, -108(1)
    lfd     18, -116(1)
    lfd     19, -124(1)
    lfd     20, -132(1)
    lfd     21, -140(1)
    lfd     22, -148(1)
    lfd     23, -156(1)
    lfd     24, -164(1)
    lfd     25, -172(1)
    lfd     26, -180(1)
    lfd     27, -188(1)
    lfd     28, -196(1)
    lfd     29, -204(1)
    lfd     30, -212(1)
    lfd     31, -220(1)

    blr 

Reply via email to