Andreas Schwab <sch...@redhat.com> wrote on 2011/08/11 10:45:42:
>
> Joakim Tjernlund <joakim.tjernl...@transmode.se> writes:
>
> > unsigned short my__arch_swab16(unsigned short value)
> > {
> >    __asm__("rlwimi %0,%0,16,0x00ff0000"
> >       : "+r" (value));
>
> You are creating a value that does not fit in a short.

Short is passed in a 32 bit register with the upper 16 bits cleared. I just
temporarily use the upper bits and shift it back with the next insn:
__asm__("rlwinm %0,%0,24,0x0000ffff"
    : "+r"(value));
Can I not use the upper 16 bits in this manner?

 Jocke

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to