1234567891011121314151617181920212223242526272829303132333435363738 |
- /*
- * ashldi3.S: GCC emits these for certain drivers playing
- * with long longs.
- *
- * Copyright (C) 1999 David S. Miller (davem@redhat.com)
- */
- #include <linux/linkage.h>
- #include <asm/export.h>
- .text
- ENTRY(__ashldi3)
- cmp %o2, 0
- be 9f
- mov 0x20, %g2
- sub %g2, %o2, %g2
- cmp %g2, 0
- bg 7f
- sll %o0, %o2, %g3
- neg %g2
- clr %o5
- b 8f
- sll %o1, %g2, %o4
- 7:
- srl %o1, %g2, %g2
- sll %o1, %o2, %o5
- or %g3, %g2, %o4
- 8:
- mov %o4, %o0
- mov %o5, %o1
- 9:
- retl
- nop
- ENDPROC(__ashldi3)
- EXPORT_SYMBOL(__ashldi3)
|