1b2441318SGreg Kroah-Hartman/* SPDX-License-Identifier: GPL-2.0 */ 288278ca2SAdrian Bunk/* 31da177e4SLinus Torvalds * ashldi3.S: GCC emits these for certain drivers playing 41da177e4SLinus Torvalds * with long longs. 51da177e4SLinus Torvalds * 61da177e4SLinus Torvalds * Copyright (C) 1999 David S. Miller (davem@redhat.com) 71da177e4SLinus Torvalds */ 81da177e4SLinus Torvalds 9*4cdb71b6SMasahiro Yamada#include <linux/export.h> 108695c37dSDavid S. Miller#include <linux/linkage.h> 118695c37dSDavid S. Miller 121da177e4SLinus Torvalds .text 138695c37dSDavid S. MillerENTRY(__ashldi3) 141da177e4SLinus Torvalds cmp %o2, 0 151da177e4SLinus Torvalds be 9f 161da177e4SLinus Torvalds mov 0x20, %g2 171da177e4SLinus Torvalds 181da177e4SLinus Torvalds sub %g2, %o2, %g2 191da177e4SLinus Torvalds cmp %g2, 0 201da177e4SLinus Torvalds bg 7f 211da177e4SLinus Torvalds sll %o0, %o2, %g3 221da177e4SLinus Torvalds 231da177e4SLinus Torvalds neg %g2 241da177e4SLinus Torvalds clr %o5 251da177e4SLinus Torvalds b 8f 261da177e4SLinus Torvalds sll %o1, %g2, %o4 271da177e4SLinus Torvalds7: 281da177e4SLinus Torvalds srl %o1, %g2, %g2 291da177e4SLinus Torvalds sll %o1, %o2, %o5 301da177e4SLinus Torvalds or %g3, %g2, %o4 311da177e4SLinus Torvalds8: 321da177e4SLinus Torvalds mov %o4, %o0 331da177e4SLinus Torvalds mov %o5, %o1 341da177e4SLinus Torvalds9: 351da177e4SLinus Torvalds retl 361da177e4SLinus Torvalds nop 378695c37dSDavid S. MillerENDPROC(__ashldi3) 38d3867f04SAl ViroEXPORT_SYMBOL(__ashldi3) 39