[BACK]Return to asmalpha.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / asm

Annotation of OpenXM_contrib2/asir2000/asm/asmalpha.c, Revision 1.1

1.1     ! noro        1: /* $OpenXM: OpenXM/src/asir99/asm/asmalpha.c,v 1.1.1.1 1999/11/10 08:12:25 noro Exp $ */
        !             2: #if defined(__alpha)
        !             3: typedef unsigned long UL;
        !             4: #elif defined(mips) || defined(hpux)
        !             5: typedef unsigned long long UL;
        !             6: #endif
        !             7:
        !             8: #include "base.h"
        !             9:
        !            10: unsigned int dm(a1,a2,u)
        !            11: unsigned int a1,a2,*u;
        !            12: {
        !            13:        UL t;
        !            14:
        !            15:        t = (UL)a1*(UL)a2;
        !            16:        *u = t>>32;
        !            17:        return (unsigned int)(t&0xffffffff);
        !            18: }
        !            19:
        !            20: unsigned int dma(a1,a2,a3,u)
        !            21: unsigned int a1,a2,a3,*u;
        !            22: {
        !            23:        UL t;
        !            24:
        !            25:        t = ((UL)a1*(UL)a2)+(UL)a3;
        !            26:        *u = t>>32;
        !            27:        return (unsigned int)(t&0xffffffff);
        !            28: }
        !            29:
        !            30: unsigned int dma2(a1,a2,a3,a4,u)
        !            31: unsigned int a1,a2,a3,a4,*u;
        !            32: {
        !            33:        UL t;
        !            34:
        !            35:        t = (UL)a1*(UL)a2+(UL)a3+(UL)a4;
        !            36:        *u = t>>32;
        !            37:        return (unsigned int)(t&0xffffffff);
        !            38: }
        !            39:
        !            40: unsigned int dmb(base,a1,a2,u)
        !            41: unsigned int base,a1,a2,*u;
        !            42: {
        !            43:        UL t;
        !            44:
        !            45:        t = (UL)a1*(UL)a2;
        !            46:        *u = t/(UL)base;
        !            47:        return (unsigned int)(t%(UL)base);
        !            48: }
        !            49:
        !            50: unsigned int dmab(base,a1,a2,a3,u)
        !            51: unsigned int base,a1,a2,a3,*u;
        !            52: {
        !            53:        UL t;
        !            54:
        !            55:        t = (UL)a1*(UL)a2+(UL)a3;
        !            56:        *u = t/(UL)base;
        !            57:        return (unsigned int)(t%(UL)base);
        !            58: }
        !            59:
        !            60: unsigned int dmar(a1,a2,a3,d)
        !            61: unsigned int a1,a2,a3,d;
        !            62: {
        !            63:        UL t;
        !            64:
        !            65:        t = (UL)a1*(UL)a2+(UL)a3;
        !            66:        return (unsigned int)(t%(UL)d);
        !            67: }
        !            68:
        !            69: unsigned int dsab(base,a1,a2,u)
        !            70: unsigned int base,a1,a2,*u;
        !            71: {
        !            72:        UL t;
        !            73:
        !            74:        t = (((UL)a1)<<32)+(UL)a2;
        !            75:        *u = t/(UL)base;
        !            76:        return (unsigned int)(t%(UL)base);
        !            77: }
        !            78:
        !            79: unsigned int dqr(a,b,qp)
        !            80: unsigned int a,b,*qp;
        !            81: {
        !            82:        *qp = a/b;
        !            83:        return a - b * (*qp);
        !            84: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>