Annotation of 43BSD/contrib/X/inline/machpats.c, revision 1.1

1.1     ! root        1: /* Copyright (c) 1984 Regents of the University of California */
        !             2: 
        !             3: #ifndef lint
        !             4: static char sccsid[] = "@(#)machpats.c 1.3     (Berkeley)      8/19/84";
        !             5: #endif not lint
        !             6: 
        !             7: #include "inline.h"
        !             8: 
        !             9: /*
        !            10:  * Pattern table for special VAX instructions.
        !            11:  */
        !            12: struct pats machine_ptab[] = {
        !            13: 
        !            14: #ifdef vax
        !            15:        { "3,_blkcpy\n",
        !            16: "      movl    (sp)+,r1\n\
        !            17:        movl    (sp)+,r3\n\
        !            18:        jbr     2f\n\
        !            19: 1:\n\
        !            20:        subl2   r0,(sp)\n\
        !            21:        movc3   r0,(r1),(r3)\n\
        !            22: 2:\n\
        !            23:        movzwl  $65535,r0\n\
        !            24:        cmpl    (sp),r0\n\
        !            25:        jgtr    1b\n\
        !            26:        movl    (sp)+,r0\n\
        !            27:        movc3   r0,(r1),(r3)\n" },
        !            28: 
        !            29:        { "3,_bcopy\n",
        !            30: "      movl    (sp)+,r1*\n\
        !            31:        movl    (sp)+,r3*\n\
        !            32:        movl    (sp)+,r5$\n\
        !            33:        movc3   r5,(r1),(r3)\n" },
        !            34: 
        !            35:        { "3,_ovbcopy\n",
        !            36: "      movl    (sp)+,r3*\n\
        !            37:        movl    (sp)+,r4*\n\
        !            38:        movl    (sp)+,r5$\n\
        !            39:        movc3   r5,(r3),(r4)\n" },
        !            40: 
        !            41:        { "3,_blkcmp\n",
        !            42: "      movl    (sp)+,r1\n\
        !            43:        movl    (sp)+,r3\n\
        !            44:        jbr     2f\n\
        !            45: 1:\n\
        !            46:        subl2   r0,(sp)\n\
        !            47:        cmpc3   r0,(r1),(r3)\n\
        !            48:        bneq    3f\n\
        !            49: 2:\n\
        !            50:        movzwl  $65535,r0\n\
        !            51:        cmpl    (sp),r0\n\
        !            52:        jgtr    1b\n\
        !            53:        movl    (sp)+,r0\n\
        !            54:        cmpc3   r0,(r1),(r3)\n\
        !            55: 3:\n" },
        !            56: 
        !            57:        { "3,_bcmp\n",
        !            58: "      movl    (sp)+,r1*\n\
        !            59:        movl    (sp)+,r3*\n\
        !            60:        movl    (sp)+,r5$\n\
        !            61:        cmpc3   r5,(r1),(r3)\n" },
        !            62: 
        !            63:        { "2,_blkclr\n",
        !            64: "      movl    (sp)+,r3\n\
        !            65:        jbr     2f\n\
        !            66: 1:\n\
        !            67:        subl2   r0,(sp)\n\
        !            68:        movc5   $0,(r3),$0,r0,(r3)\n\
        !            69: 2:\n\
        !            70:        movzwl  $65535,r0\n\
        !            71:        cmpl    (sp),r0\n\
        !            72:        jgtr    1b\n\
        !            73:        movl    (sp)+,r0\n\
        !            74:        movc5   $0,(r3),$0,r0,(r3)\n" },
        !            75: 
        !            76:        { "2,_bzero\n",
        !            77: "      movl    (sp)+,r3*\n\
        !            78:        movl    (sp)+,r5$\n\
        !            79:        movc5   $0,(r3),$0,r5,(r3)\n" },
        !            80: 
        !            81:        { "3,_llocc\n",
        !            82: "      movl    (sp)+,r4$\n\
        !            83:        movl    (sp)+,r5\n\
        !            84:        movl    (sp)+,r1\n\
        !            85: 1:\n\
        !            86:        movzwl  $65535,r0\n\
        !            87:        cmpl    r5,r0\n\
        !            88:        jleq    1f\n\
        !            89:        subl2   r0,r5\n\
        !            90:        locc    r4,r0,(r1)\n\
        !            91:        jeql    1b\n\
        !            92:        addl2   r5,r0\n\
        !            93:        jbr     2f\n\
        !            94: 1:\n\
        !            95:        locc    r4,r5,(r1)\n\
        !            96: 2:\n" },
        !            97: 
        !            98:        { "3,_locc\n",
        !            99: "      movl    (sp)+,r3$\n\
        !           100:        movl    (sp)+,r4$\n\
        !           101:        movl    (sp)+,r5*\n\
        !           102:        locc    r3,r4,(r5)\n" },
        !           103: 
        !           104:        { "4,_scanc\n",
        !           105: "      movl    (sp)+,r2$\n\
        !           106:        movl    (sp)+,r3*\n\
        !           107:        movl    (sp)+,r4*\n\
        !           108:        movl    (sp)+,r5$\n\
        !           109:        scanc   r2,(r3),(r4),r5\n" },
        !           110: 
        !           111:        { "3,_skpc\n",
        !           112: "      movl    (sp)+,r3$\n\
        !           113:        movl    (sp)+,r4$\n\
        !           114:        movl    (sp)+,r5*\n\
        !           115:        skpc    r3,r4,(r5)\n" },
        !           116: 
        !           117:        { "2,_insque\n",
        !           118: "      movl    (sp)+,r4*\n\
        !           119:        movl    (sp)+,r5*\n\
        !           120:        insque  (r4),(r5)\n" },
        !           121: 
        !           122:        { "1,_remque\n",
        !           123: "      movl    (sp)+,r5*\n\
        !           124:        remque  (r5),r0\n" },
        !           125: 
        !           126:        { "3,_extv\n",
        !           127: "      movl    (sp)+,r2*\n\
        !           128:        movl    (sp)+,r3$\n\
        !           129:        movl    (sp)+,r4$\n\
        !           130:        extv    r3,r4,(r2),r0\n"},
        !           131: 
        !           132:        { "3,_extzv\n",
        !           133: "      movl    (sp)+,r2*\n\
        !           134:        movl    (sp)+,r3$\n\
        !           135:        movl    (sp)+,r4$\n\
        !           136:        extzv   r3,r4,(r2),r0\n"},
        !           137: 
        !           138:        { "4,_insv\n",
        !           139: "      movl    (sp)+,r2*\n\
        !           140:        movl    (sp)+,r3$\n\
        !           141:        movl    (sp)+,r4$\n\
        !           142:        movl    (sp)+,r5$\n\
        !           143:        insv    r5,r3,r4,(r2)\n"},
        !           144: 
        !           145: #endif vax
        !           146: 
        !           147: #ifdef mc68000
        !           148: /* someday... */
        !           149: #endif mc68000
        !           150: 
        !           151:        { "", "" }
        !           152: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.