date and time created 88/12/14 15:29:54 by sklower
[unix-history] / usr / src / sys / vax / inline / langpats.c
index a91ed30..248fd64 100644 (file)
@@ -1,8 +1,12 @@
-/* Copyright (c) 1984 Regents of the University of California */
+/*
+ * Copyright (c) 1984, 1986 Regents of the University of California.
+ * All rights reserved.  The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
 
 #ifndef lint
 
 #ifndef lint
-static char sccsid[] = "@(#)langpats.c 2.1 (Berkeley) %G%";
-#endif
+static char sccsid[] = "@(#)langpats.c 7.1 (Berkeley) %G%";
+#endif not lint
 
 #include "inline.h"
 
 
 #include "inline.h"
 
@@ -13,154 +17,151 @@ static char sccsid[] = "@(#)langpats.c    2.1 (Berkeley) %G%";
 struct pats language_ptab[] = {
 
 #ifdef vax
 struct pats language_ptab[] = {
 
 #ifdef vax
-       { "0,_spl0\n",
+       { 0, "_spl0\n",
 "      mfpr    $18,r0\n\
        mtpr    $0,$18\n" },
 
 "      mfpr    $18,r0\n\
        mtpr    $0,$18\n" },
 
-       { "0,_spl1\n",
+       { 0, "_spl1\n",
 "      mfpr    $18,r0\n\
        mtpr    $1,$18\n" },
 
 "      mfpr    $18,r0\n\
        mtpr    $1,$18\n" },
 
-       { "0,_splsoftclock\n",
+       { 0, "_splsoftclock\n",
 "      mfpr    $18,r0\n\
        mtpr    $0x8,$18\n" },
 
 "      mfpr    $18,r0\n\
        mtpr    $0x8,$18\n" },
 
-       { "0,_splnet\n",
+       { 0, "_splnet\n",
 "      mfpr    $18,r0\n\
        mtpr    $0xc,$18\n" },
 
 "      mfpr    $18,r0\n\
        mtpr    $0xc,$18\n" },
 
-       { "0,_splimp\n",
+       { 0, "_splimp\n",
 "      mfpr    $18,r0\n\
        mtpr    $0x16,$18\n" },
 
 "      mfpr    $18,r0\n\
        mtpr    $0x16,$18\n" },
 
-       { "0,_spl4\n",
+       { 0, "_spl4\n",
 "      mfpr    $18,r0\n\
        mtpr    $0x14,$18\n" },
 
 "      mfpr    $18,r0\n\
        mtpr    $0x14,$18\n" },
 
-       { "0,_splbio\n",
+       { 0, "_splbio\n",
 "      mfpr    $18,r0\n\
        mtpr    $0x15,$18\n" },
 
 "      mfpr    $18,r0\n\
        mtpr    $0x15,$18\n" },
 
-       { "0,_spltty\n",
+       { 0, "_spltty\n",
 "      mfpr    $18,r0\n\
        mtpr    $0x15,$18\n" },
 
 "      mfpr    $18,r0\n\
        mtpr    $0x15,$18\n" },
 
-       { "0,_spl5\n",
+       { 0, "_spl5\n",
 "      mfpr    $18,r0\n\
        mtpr    $0x15,$18\n" },
 
 "      mfpr    $18,r0\n\
        mtpr    $0x15,$18\n" },
 
-       { "0,_splclock\n",
+       { 0, "_spl6\n",
 "      mfpr    $18,r0\n\
 "      mfpr    $18,r0\n\
-       mtpr    $0x18,$18\n" },
+       mtpr    $0x16,$18\n" },
 
 
-       { "0,_spl6\n",
+       { 0, "_spl7\n",
 "      mfpr    $18,r0\n\
 "      mfpr    $18,r0\n\
-       mtpr    $0x18,$18\n" },
+       mtpr    $0x17,$18\n" },
 
 
-       { "0,_spl7\n",
+       { 0, "_splclock\n",
 "      mfpr    $18,r0\n\
 "      mfpr    $18,r0\n\
-       mtpr    $0x1f,$18\n" },
+       mtpr    $0x18,$18\n" },
 
 
-       { "0,_splhigh\n",
+       { 0, "_splhigh\n",
 "      mfpr    $18,r0\n\
        mtpr    $0x1f,$18\n" },
 
 "      mfpr    $18,r0\n\
        mtpr    $0x1f,$18\n" },
 
-       { "1,_splx\n",
-"      movl    (sp)+,r1\n\
-       mfpr    $18,r0\n\
-       mtpr    r1,$18\n" },
+       { 1, "_splx\n",
+"      movl    (sp)+,r0\n\
+       mtpr    r0,$18\n" },
 
 
-       { "1,_mfpr\n",
+       { 1, "_mfpr\n",
 "      movl    (sp)+,r5\n\
        mfpr    r5,r0\n" },
 
 "      movl    (sp)+,r5\n\
        mfpr    r5,r0\n" },
 
-       { "2,_mtpr\n",
+       { 2, "_mtpr\n",
 "      movl    (sp)+,r4\n\
        movl    (sp)+,r5\n\
        mtpr    r5,r4\n" },
 
 "      movl    (sp)+,r4\n\
        movl    (sp)+,r5\n\
        mtpr    r5,r4\n" },
 
-       { "0,_setsoftclock\n",
+       { 0, "_setsoftclock\n",
 "      mtpr    $0x8,$0x14\n" },
 
 "      mtpr    $0x8,$0x14\n" },
 
-       { "1,_resume\n",
+       { 1, "_resume\n",
 "      movl    (sp)+,r5\n\
        ashl    $9,r5,r0\n\
        movpsl  -(sp)\n\
        jsb     _Resume\n" },
 
 "      movl    (sp)+,r5\n\
        ashl    $9,r5,r0\n\
        movpsl  -(sp)\n\
        jsb     _Resume\n" },
 
-       { "3,_strncmp\n",
+       { 3, "_copyin\n",
 "      movl    (sp)+,r1\n\
        movl    (sp)+,r3\n\
        movl    (sp)+,r5\n\
 "      movl    (sp)+,r1\n\
        movl    (sp)+,r3\n\
        movl    (sp)+,r5\n\
-       cmpc3   r5,(r1),(r3)\n" },
-
-       { "3,_copyin\n",
-"      jsb     _Copyin\n\
-       addl2   $12,sp\n" },
+       jsb     _Copyin\n" },
 
 
-       { "3,_copyout\n",
-"      jsb     _Copyout\n\
-       addl2   $12,sp\n" },
+       { 3, "_copyout\n",
+"      movl    (sp)+,r1\n\
+       movl    (sp)+,r3\n\
+       movl    (sp)+,r5\n\
+       jsb     _Copyout\n" },
 
 
-       { "1,_fubyte\n",
+       { 1, "_fubyte\n",
 "      movl    (sp)+,r0\n\
        jsb     _Fubyte\n" },
 
 "      movl    (sp)+,r0\n\
        jsb     _Fubyte\n" },
 
-       { "1,_fuibyte\n",
+       { 1, "_fuibyte\n",
 "      movl    (sp)+,r0\n\
        jsb     _Fubyte\n" },
 
 "      movl    (sp)+,r0\n\
        jsb     _Fubyte\n" },
 
-       { "1,_fuword\n",
+       { 1, "_fuword\n",
 "      movl    (sp)+,r0\n\
        jsb     _Fuword\n" },
 
 "      movl    (sp)+,r0\n\
        jsb     _Fuword\n" },
 
-       { "1,_fuiword\n",
+       { 1, "_fuiword\n",
 "      movl    (sp)+,r0\n\
        jsb     _Fuword\n" },
 
 "      movl    (sp)+,r0\n\
        jsb     _Fuword\n" },
 
-       { "2,_subyte\n",
+       { 2, "_subyte\n",
 "      movl    (sp)+,r0\n\
        movl    (sp)+,r1\n\
        jsb     _Subyte\n" },
 
 "      movl    (sp)+,r0\n\
        movl    (sp)+,r1\n\
        jsb     _Subyte\n" },
 
-       { "2,_suibyte\n",
+       { 2, "_suibyte\n",
 "      movl    (sp)+,r0\n\
        movl    (sp)+,r1\n\
        jsb     _Subyte\n" },
 
 "      movl    (sp)+,r0\n\
        movl    (sp)+,r1\n\
        jsb     _Subyte\n" },
 
-       { "2,_suword\n",
+       { 2, "_suword\n",
 "      movl    (sp)+,r0\n\
        movl    (sp)+,r1\n\
        jsb     _Suword\n" },
 
 "      movl    (sp)+,r0\n\
        movl    (sp)+,r1\n\
        jsb     _Suword\n" },
 
-       { "2,_suiword\n",
+       { 2, "_suiword\n",
 "      movl    (sp)+,r0\n\
        movl    (sp)+,r1\n\
        jsb     _Suword\n" },
 
 "      movl    (sp)+,r0\n\
        movl    (sp)+,r1\n\
        jsb     _Suword\n" },
 
-       { "1,_setrq\n",
+       { 1, "_setrq\n",
 "      movl    (sp)+,r0\n\
        jsb     _Setrq\n" },
 
 "      movl    (sp)+,r0\n\
        jsb     _Setrq\n" },
 
-       { "1,_remrq\n",
+       { 1, "_remrq\n",
 "      movl    (sp)+,r0\n\
        jsb     _Remrq\n" },
 
 "      movl    (sp)+,r0\n\
        jsb     _Remrq\n" },
 
-       { "0,_swtch\n",
+       { 0, "_swtch\n",
 "      movpsl  -(sp)\n\
        jsb     _Swtch\n" },
 
 "      movpsl  -(sp)\n\
        jsb     _Swtch\n" },
 
-       { "1,_setjmp\n",
+       { 1, "_setjmp\n",
 "      movl    (sp)+,r1\n\
        clrl    r0\n\
        movl    fp,(r1)+\n\
        moval   1(pc),(r1)\n" },
 
 "      movl    (sp)+,r1\n\
        clrl    r0\n\
        movl    fp,(r1)+\n\
        moval   1(pc),(r1)\n" },
 
-       { "1,_longjmp\n",
+       { 1, "_longjmp\n",
 "      movl    (sp)+,r0\n\
        jsb     _Longjmp\n" },
 
 "      movl    (sp)+,r0\n\
        jsb     _Longjmp\n" },
 
-       { "1,_ffs\n",
+       { 1, "_ffs\n",
 "      movl    (sp)+,r1\n\
        ffs     $0,$32,r1,r0\n\
        bneq    1f\n\
 "      movl    (sp)+,r1\n\
        ffs     $0,$32,r1,r0\n\
        bneq    1f\n\
@@ -168,52 +169,88 @@ struct pats language_ptab[] = {
 1:\n\
        incl    r0\n" },
 
 1:\n\
        incl    r0\n" },
 
-       { "1,_htons\n",
+       { 1, "_htons\n",
 "      movl    (sp)+,r5\n\
        rotl    $8,r5,r0\n\
 "      movl    (sp)+,r5\n\
        rotl    $8,r5,r0\n\
-       movb    1(r5),r0\n\
+       rotl    $-8,r5,r1\n\
+       movb    r1,r0\n\
        movzwl  r0,r0\n" },
 
        movzwl  r0,r0\n" },
 
-       { "1,_ntohs\n",
+       { 1, "_ntohs\n",
 "      movl    (sp)+,r5\n\
 "      movl    (sp)+,r5\n\
-       rotl    $8,(r5),r0\n\
-       movb    1(r5),r0\n\
+       rotl    $8,r5,r0\n\
+       rotl    $-8,r5,r1\n\
+       movb    r1,r0\n\
        movzwl  r0,r0\n" },
 
        movzwl  r0,r0\n" },
 
-       { "1,_htonl\n",
+       { 1, "_htonl\n",
 "      movl    (sp)+,r5\n\
 "      movl    (sp)+,r5\n\
-       rotl    $-8,(r5),r0\n\
+       rotl    $-8,r5,r0\n\
        insv    r0,$16,$8,r0\n\
        insv    r0,$16,$8,r0\n\
-       movb    3(sp),r0\n" },
+       rotl    $8,r5,r1\n\
+       movb    r1,r0\n" },
 
 
-       { "1,_ntohl\n",
+       { 1, "_ntohl\n",
 "      movl    (sp)+,r5\n\
 "      movl    (sp)+,r5\n\
-       rotl    $-8,(r5),r0\n\
+       rotl    $-8,r5,r0\n\
        insv    r0,$16,$8,r0\n\
        insv    r0,$16,$8,r0\n\
-       movb    3(r5),r0\n" },
+       rotl    $8,r5,r1\n\
+       movb    r1,r0\n" },
 
 
-       { "2,__insque\n",
+       { 2, "__insque\n",
 "      movl    (sp)+,r4\n\
        movl    (sp)+,r5\n\
        insque  (r4),(r5)\n" },
 
 "      movl    (sp)+,r4\n\
        movl    (sp)+,r5\n\
        insque  (r4),(r5)\n" },
 
-       { "1,__remque\n",
+       { 1, "__remque\n",
 "      movl    (sp)+,r5\n\
        remque  (r5),r0\n" },
 
 "      movl    (sp)+,r5\n\
        remque  (r5),r0\n" },
 
-       { "2,__queue\n",
+       { 2, "__queue\n",
 "      movl    (sp)+,r0\n\
        movl    (sp)+,r1\n\
 "      movl    (sp)+,r0\n\
        movl    (sp)+,r1\n\
-       insque  r1,*4(r0)\n" },
+       insque  (r1),*4(r0)\n" },
 
 
-       { "1,__dequeue\n",
+       { 1, "__dequeue\n",
 "      movl    (sp)+,r0\n\
        remque  *(r0),r0\n" },
 "      movl    (sp)+,r0\n\
        remque  *(r0),r0\n" },
+
+       { 2, "_imin\n",
+"      movl    (sp)+,r0\n\
+       movl    (sp)+,r5\n\
+       cmpl    r0,r5\n\
+       bleq    1f\n\
+       movl    r5,r0\n\
+1:\n" },
+
+       { 2, "_imax\n",
+"      movl    (sp)+,r0\n\
+       movl    (sp)+,r5\n\
+       cmpl    r0,r5\n\
+       bgeq    1f\n\
+       movl    r5,r0\n\
+1:\n" },
+
+       { 2, "_min\n",
+"      movl    (sp)+,r0\n\
+       movl    (sp)+,r5\n\
+       cmpl    r0,r5\n\
+       blequ   1f\n\
+       movl    r5,r0\n\
+1:\n" },
+
+       { 2, "_max\n",
+"      movl    (sp)+,r0\n\
+       movl    (sp)+,r5\n\
+       cmpl    r0,r5\n\
+       bgequ   1f\n\
+       movl    r5,r0\n\
+1:\n" },
 #endif vax
 
 #ifdef mc68000
 /* someday... */
 #endif mc68000
 
 #endif vax
 
 #ifdef mc68000
 /* someday... */
 #endif mc68000
 
-       { "", "" }
+       { 0, "", "" }
 };
 };