cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ashldi3.S (550B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * ashldi3.S:	GCC emits these for certain drivers playing
      4 *		with long longs.
      5 *
      6 * Copyright (C) 1999 David S. Miller (davem@redhat.com)
      7 */
      8
      9#include <linux/linkage.h>
     10#include <asm/export.h>
     11
     12	.text
     13ENTRY(__ashldi3)
     14	cmp	%o2, 0
     15	be	9f
     16	 mov	0x20, %g2
     17
     18	sub	%g2, %o2, %g2
     19	cmp	%g2, 0
     20	bg	7f
     21	 sll	%o0, %o2, %g3
     22
     23	neg	%g2
     24	clr	%o5
     25	b	8f
     26	 sll	%o1, %g2, %o4
     277:
     28	srl	%o1, %g2, %g2
     29	sll	%o1, %o2, %o5
     30	or	%g3, %g2, %o4
     318:
     32	mov	%o4, %o0
     33	mov	%o5, %o1
     349:
     35	retl
     36	 nop
     37ENDPROC(__ashldi3)
     38EXPORT_SYMBOL(__ashldi3)