Index: src/runtime/lookup-asm/lookup-asm-ppc-elf.S ================================================================== --- src/runtime/lookup-asm/lookup-asm-ppc-elf.S +++ src/runtime/lookup-asm/lookup-asm-ppc-elf.S @@ -58,15 +58,16 @@ .size \name, .-\name .endm .macro generate_lookup_super name lookup \name: - lwz %r5, 0(%r3) - cmpwi %r5, 0 + mr %r5, %r3 + lwz %r3, 0(%r3) + cmpwi %r3, 0 beq- ret_nil - lwz %r5, 4(%r3) + lwz %r5, 4(%r5) lwz %r5, 32(%r5) b .Lmain_\lookup .type \name, %function .size \name, .-\name Index: src/runtime/lookup-asm/lookup-asm-ppc-macho.S ================================================================== --- src/runtime/lookup-asm/lookup-asm-ppc-macho.S +++ src/runtime/lookup-asm/lookup-asm-ppc-macho.S @@ -54,15 +54,16 @@ b $1 .endmacro .macro generate_lookup_super $0: - lwz r5, 0(r3) - cmpwi r5, 0 + mr r5, r3 + lwz r3, 0(r3) + cmpwi r3, 0 beq- ret_nil - lwz r5, 4(r3) + lwz r5, 4(r5) lwz r5, 32(r5) b Lmain_$1 .endmacro