OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [rc203soc/] [sw/] [uClinux/] [arch/] [sparc/] [lib/] [ashrdi3.S] - Rev 1782

Compare with Previous | Blame | View Log

/* $Id: ashrdi3.S,v 1.1 2005-12-20 09:50:47 jcastillo Exp $
 * ashrdi3.S:   The filesystem code creates all kinds of references to
 *              this little routine on the sparc with gcc.
 *
 * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
 */

#include <asm/cprefix.h>

                .globl C_LABEL(__ashrdi3)
C_LABEL(__ashrdi3):
        tst     %o2
        be      3f
        or      %g0, 32, %g2
        sub     %g2, %o2, %g2
        tst     %g2
        bg      1f
        sra     %o0, %o2, %o4
        sra     %o0, 31, %o4
        sub     %g0, %g2, %g2
        ba      2f
        sra     %o0, %g2, %o5
1:      sll     %o0, %g2, %g3
        srl     %o1, %o2, %g2
        or      %g2, %g3, %o5
2:      or      %g0, %o4, %o0
        or      %g0, %o5, %o1
3:      jmpl    %o7 + 8, %g0
        nop

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.