Index: src/runtime/lookup-asm/lookup-asm-sparc64-elf.S ================================================================== --- src/runtime/lookup-asm/lookup-asm-sparc64-elf.S +++ src/runtime/lookup-asm/lookup-asm-sparc64-elf.S @@ -24,12 +24,11 @@ .globl objc_msg_lookup_super_stret .section .text .macro generate_lookup name not_found \name: - cmp %o0, 0 - beq,pn ret_nil + brz,pn %o0, ret_nil nop ldx [%o0], %o2 ldx [%o2 + 64], %o2 @@ -51,11 +50,11 @@ #endif ldx [%o2 + %o4], %o2 ldx [%o2 + %o5], %o2 cmp %o2, 0 - beq,pn \not_found + be,pn %xcc, \not_found nop retl mov %o2, %o0 .type \name, %function @@ -62,16 +61,16 @@ .size \name, .-\name .endm .macro generate_lookup_super name lookup \name: - ldx [%o0], %o2 - cmp %o2, 0 - beq,pn ret_nil + mov %o0, %o2 + ldx [%o0], %o0 + brz,pn %o0, ret_nil nop - ldx [%o0 + 8], %o2 + ldx [%o2 + 8], %o2 ba .Lmain_\lookup ldx [%o2 + 64], %o2 .type \name, %function .size \name, .-\name .endm