! $OpenXM: OpenXM_contrib2/asir2018/asm/asm4.s,v 1.1 2018/09/19 05:45:05 noro Exp $
#include "base.h"
.seg "text" ! [internal]
.proc 14
.global _dm
_dm:
save %sp,-104,%sp
mov %i1,%o1
call .umul,2
mov %i0,%o0
sll %o1,CBSH,%o1
srl %o0,BSH,%o2
or %o1,%o2,%o1
sethi %hi(BMASK),%o2
add %o2,%lo(BMASK),%o2
and %o0,%o2,%o0
st %o1,[%i2]
ret
restore %g0,%o0,%o0
.proc 14
.global _dmb
_dmb:
save %sp,-104,%sp
mov %i2,%o1
call .umul,2
mov %i1,%o0
call _edr,3
mov %i0,%o2
st %o1,[%i3]
ret
restore %g0,%o0,%o0
.proc 14
.global _dma
_dma:
save %sp,-104,%sp
mov %i1,%o1
call .umul,2
mov %i0,%o0
addcc %o0,%i2,%o0
addx %g0,%o1,%o1
sll %o1,CBSH,%o1
srl %o0,BSH,%o2
or %o1,%o2,%o1
sethi %hi(BMASK),%o2
add %o2,%lo(BMASK),%o2
and %o0,%o2,%o0
st %o1,[%i3]
ret
restore %g0,%o0,%o0
.proc 14
.global _dmab
_dmab:
save %sp,-104,%sp
mov %i2,%o1
call .umul,2
mov %i1,%o0
addcc %o0,%i3,%o0
addx %g0,%o1,%o1
call _edr,3
mov %i0,%o2
st %o1,[%i4]
ret
restore %g0,%o0,%o0
.proc 14
.global _dsab
_dsab:
save %sp,-104,%sp
srl %i1,CBSH,%o1
sll %i1,BSH,%o0
or %i2,%o0,%o0
call _edr,3
mov %i0,%o2
st %o1,[%i3]
ret
restore %g0,%o0,%o0
.proc 14
.global _dmar
_dmar:
save %sp,-104,%sp
mov %i1,%o1
call .umul,2
mov %i0,%o0
addcc %o0,%i2,%o0
addx %g0,%o1,%o1
call _edr,3
mov %i3,%o2
ret
restore %g0,%o0,%o0
.proc 14
.global _dqr
_dqr:
mov %o7,%g5 !save %o7
call .udr,2
mov %o2,%g6 !save %o2
st %o1,[%g6]
mov %g5,%o7
retl
nop
.seg "data"