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

muldi3.S (1359B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/* Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
      3
      4This file is part of GNU CC.
      5
      6 */
      7
      8#include <asm/export.h>
      9	.text
     10	.align 4
     11	.globl __muldi3
     12__muldi3:
     13	save  %sp, -104, %sp
     14	wr  %g0, %i1, %y
     15	sra  %i3, 0x1f, %g2
     16	and  %i1, %g2, %g2
     17	andcc  %g0, 0, %g1
     18	mulscc  %g1, %i3, %g1
     19	mulscc  %g1, %i3, %g1
     20	mulscc  %g1, %i3, %g1
     21	mulscc  %g1, %i3, %g1
     22	mulscc  %g1, %i3, %g1
     23	mulscc  %g1, %i3, %g1
     24	mulscc  %g1, %i3, %g1
     25	mulscc  %g1, %i3, %g1
     26	mulscc  %g1, %i3, %g1
     27	mulscc  %g1, %i3, %g1
     28	mulscc  %g1, %i3, %g1
     29	mulscc  %g1, %i3, %g1
     30	mulscc  %g1, %i3, %g1
     31	mulscc  %g1, %i3, %g1
     32	mulscc  %g1, %i3, %g1
     33	mulscc  %g1, %i3, %g1
     34	mulscc  %g1, %i3, %g1
     35	mulscc  %g1, %i3, %g1
     36	mulscc  %g1, %i3, %g1
     37	mulscc  %g1, %i3, %g1
     38	mulscc  %g1, %i3, %g1
     39	mulscc  %g1, %i3, %g1
     40	mulscc  %g1, %i3, %g1
     41	mulscc  %g1, %i3, %g1
     42	mulscc  %g1, %i3, %g1
     43	mulscc  %g1, %i3, %g1
     44	mulscc  %g1, %i3, %g1
     45	mulscc  %g1, %i3, %g1
     46	mulscc  %g1, %i3, %g1
     47	mulscc  %g1, %i3, %g1
     48	mulscc  %g1, %i3, %g1
     49	mulscc  %g1, %i3, %g1
     50	mulscc  %g1, 0, %g1
     51	add  %g1, %g2, %l2
     52	rd  %y, %o1
     53	mov  %o1, %l3
     54	mov  %i1, %o0
     55	mov  %i2, %o1
     56	umul %o0, %o1, %o0
     57	mov  %o0, %l0
     58	mov  %i0, %o0
     59	mov  %i3, %o1
     60	umul %o0, %o1, %o0
     61	add  %l0, %o0, %l0
     62	mov  %l2, %i0
     63	add  %l2, %l0, %i0
     64	ret 
     65	restore  %g0, %l3, %o1
     66EXPORT_SYMBOL(__muldi3)