Annotation of OpenXM_contrib2/asir2018/asm/asm45.s, Revision 1.1
1.1 ! noro 1: ! $OpenXM$
! 2: #include "base.h"
! 3:
! 4: .seg "text" ! [internal]
! 5: .proc 14
! 6: .global _dm
! 7: _dm:
! 8: umul %o0,%o1,%o0
! 9: rd %y,%o1
! 10: sll %o1,CBSH,%o1
! 11: srl %o0,BSH,%o3
! 12: or %o1,%o3,%o1
! 13: sethi %hi(BMASK),%o3
! 14: add %o3,%lo(BMASK),%o3
! 15: and %o0,%o3,%o0
! 16: retl
! 17: st %o1,[%o2]
! 18:
! 19: .global _dma
! 20: _dma:
! 21: umul %o0,%o1,%o0
! 22: rd %y,%o1
! 23: addcc %o0,%o2,%o0
! 24: addx %g0,%o1,%o1
! 25:
! 26: sll %o1,CBSH,%o1
! 27: srl %o0,BSH,%o2
! 28: or %o1,%o2,%o1
! 29: sethi %hi(BMASK),%o2
! 30: add %o2,%lo(BMASK),%o2
! 31: and %o0,%o2,%o0
! 32: retl
! 33: st %o1,[%o3]
! 34:
! 35: .proc 14
! 36: .global _dmb
! 37: _dmb:
! 38: save %sp,-104,%sp
! 39: umul %i1,%i2,%o0
! 40: rd %y,%o1
! 41:
! 42: call _edr,3
! 43: mov %i0,%o2
! 44:
! 45: st %o1,[%i3]
! 46: ret
! 47: restore %g0,%o0,%o0
! 48:
! 49: .proc 14
! 50: .global _dmab
! 51: _dmab:
! 52: save %sp,-104,%sp
! 53: umul %i1,%i2,%o0
! 54: rd %y,%o1
! 55:
! 56: addcc %o0,%i3,%o0
! 57: addx %g0,%o1,%o1
! 58:
! 59: call _edr,3
! 60: mov %i0,%o2
! 61:
! 62: st %o1,[%i4]
! 63: ret
! 64: restore %g0,%o0,%o0
! 65:
! 66: .proc 14
! 67: .global _dmar
! 68: _dmar:
! 69: save %sp,-104,%sp
! 70: umul %i0,%i1,%o0
! 71: rd %y,%o1
! 72:
! 73: addcc %o0,%i2,%o0
! 74: addx %g0,%o1,%o1
! 75:
! 76: call _edr,3
! 77: mov %i3,%o2
! 78:
! 79: ret
! 80: restore %g0,%o0,%o0
! 81:
! 82: .proc 14
! 83: .global _dsab
! 84: _dsab:
! 85: save %sp,-104,%sp
! 86: srl %i1,CBSH,%o1
! 87: sll %i1,BSH,%o0
! 88: or %i2,%o0,%o0
! 89:
! 90: call _edr,3
! 91: mov %i0,%o2
! 92:
! 93: st %o1,[%i3]
! 94: ret
! 95: restore %g0,%o0,%o0
! 96:
! 97: .proc 14
! 98: .global _dqr
! 99: _dqr:
! 100: mov %o7,%g5 !save %o7
! 101: call .udr,2
! 102: mov %o2,%g6 !save %o2
! 103:
! 104: st %o1,[%g6]
! 105: mov %g5,%o7
! 106:
! 107: retl
! 108: nop
! 109: .seg "data"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>