xref: /csrg-svn/sys/vax/inline/libcpats.c (revision 16959)
1*16959Smckusick /* Copyright (c) 1984 Regents of the University of California */
2*16959Smckusick 
3*16959Smckusick #ifndef lint
4*16959Smckusick static char sccsid[] = "@(#)libcpats.c	1.1	(Berkeley)	08/18/84";
5*16959Smckusick #endif not lint
6*16959Smckusick 
7*16959Smckusick #include "pc2.h"
8*16959Smckusick 
9*16959Smckusick /*
10*16959Smckusick  * Pattern table for the C library.
11*16959Smckusick  */
12*16959Smckusick struct pats libc_ptab[] = {
13*16959Smckusick 
14*16959Smckusick #ifdef vax
15*16959Smckusick 	{ "1,_fgetc\n",
16*16959Smckusick "	sobgeq	*(sp),1f\n\
17*16959Smckusick 	calls	$1,__filbuf\n\
18*16959Smckusick 	jbr     2f\n\
19*16959Smckusick 1:\n\
20*16959Smckusick 	addl3	$4,(sp)+,r1\n\
21*16959Smckusick 	movzbl	*(r1),r0\n\
22*16959Smckusick 	incl	(r1)\n\
23*16959Smckusick 2:\n" },
24*16959Smckusick 
25*16959Smckusick 	{ "2,_fputc\n",
26*16959Smckusick "	sobgeq	*4(sp),1f\n\
27*16959Smckusick 	calls	$2,__flsbuf\n\
28*16959Smckusick 	jbr	2f\n\
29*16959Smckusick 1:\n\
30*16959Smckusick 	movq	(sp)+,r0\n\
31*16959Smckusick 	movb	r0,*4(r1)\n\
32*16959Smckusick 	incl	4(r1)\n\
33*16959Smckusick 2:\n" },
34*16959Smckusick 
35*16959Smckusick 	{ "1,_strlen\n",
36*16959Smckusick "	movl	(sp)+,r5\n\
37*16959Smckusick 	movl	r5,r1\n\
38*16959Smckusick 1:\n\
39*16959Smckusick 	locc	$0,$65535,(r1)\n\
40*16959Smckusick 	jeql	1b\n\
41*16959Smckusick 	subl3	r5,r1,r0\n" },
42*16959Smckusick #endif vax
43*16959Smckusick 
44*16959Smckusick #ifdef mc68000
45*16959Smckusick /* someday... */
46*16959Smckusick #endif mc68000
47*16959Smckusick 
48*16959Smckusick 	{ "", "" }
49*16959Smckusick };
50