188278ca2SAdrian Bunk/* 21da177e4SLinus Torvalds * ashrdi3.S: The filesystem code creates all kinds of references to 31da177e4SLinus Torvalds * this little routine on the sparc with gcc. 41da177e4SLinus Torvalds * 51da177e4SLinus Torvalds * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) 61da177e4SLinus Torvalds */ 71da177e4SLinus Torvalds 88695c37dSDavid S. Miller#include <linux/linkage.h> 98695c37dSDavid S. Miller 101da177e4SLinus Torvalds .text 118695c37dSDavid S. MillerENTRY(__ashrdi3) 121da177e4SLinus Torvalds tst %o2 131da177e4SLinus Torvalds be 3f 141da177e4SLinus Torvalds or %g0, 32, %g2 151da177e4SLinus Torvalds 161da177e4SLinus Torvalds sub %g2, %o2, %g2 171da177e4SLinus Torvalds 181da177e4SLinus Torvalds tst %g2 191da177e4SLinus Torvalds bg 1f 201da177e4SLinus Torvalds sra %o0, %o2, %o4 211da177e4SLinus Torvalds 221da177e4SLinus Torvalds sra %o0, 31, %o4 231da177e4SLinus Torvalds sub %g0, %g2, %g2 241da177e4SLinus Torvalds ba 2f 251da177e4SLinus Torvalds sra %o0, %g2, %o5 261da177e4SLinus Torvalds 271da177e4SLinus Torvalds1: 281da177e4SLinus Torvalds sll %o0, %g2, %g3 291da177e4SLinus Torvalds srl %o1, %o2, %g2 301da177e4SLinus Torvalds or %g2, %g3, %o5 311da177e4SLinus Torvalds2: 321da177e4SLinus Torvalds or %g0, %o4, %o0 331da177e4SLinus Torvalds or %g0, %o5, %o1 341da177e4SLinus Torvalds3: 351da177e4SLinus Torvalds jmpl %o7 + 8, %g0 361da177e4SLinus Torvalds nop 378695c37dSDavid S. MillerENDPROC(__ashrdi3) 38