xref: /csrg-svn/sys/vax/inline/libcpats.c (revision 16963)
116959Smckusick /* Copyright (c) 1984 Regents of the University of California */
216959Smckusick 
316959Smckusick #ifndef lint
4*16963Smckusick static char sccsid[] = "@(#)libcpats.c	1.2	(Berkeley)	08/18/84";
516959Smckusick #endif not lint
616959Smckusick 
7*16963Smckusick #include "inline.h"
816959Smckusick 
916959Smckusick /*
1016959Smckusick  * Pattern table for the C library.
1116959Smckusick  */
1216959Smckusick struct pats libc_ptab[] = {
1316959Smckusick 
1416959Smckusick #ifdef vax
1516959Smckusick 	{ "1,_fgetc\n",
1616959Smckusick "	sobgeq	*(sp),1f\n\
1716959Smckusick 	calls	$1,__filbuf\n\
1816959Smckusick 	jbr     2f\n\
1916959Smckusick 1:\n\
2016959Smckusick 	addl3	$4,(sp)+,r1\n\
2116959Smckusick 	movzbl	*(r1),r0\n\
2216959Smckusick 	incl	(r1)\n\
2316959Smckusick 2:\n" },
2416959Smckusick 
2516959Smckusick 	{ "2,_fputc\n",
2616959Smckusick "	sobgeq	*4(sp),1f\n\
2716959Smckusick 	calls	$2,__flsbuf\n\
2816959Smckusick 	jbr	2f\n\
2916959Smckusick 1:\n\
3016959Smckusick 	movq	(sp)+,r0\n\
3116959Smckusick 	movb	r0,*4(r1)\n\
3216959Smckusick 	incl	4(r1)\n\
3316959Smckusick 2:\n" },
3416959Smckusick 
3516959Smckusick 	{ "1,_strlen\n",
3616959Smckusick "	movl	(sp)+,r5\n\
3716959Smckusick 	movl	r5,r1\n\
3816959Smckusick 1:\n\
3916959Smckusick 	locc	$0,$65535,(r1)\n\
4016959Smckusick 	jeql	1b\n\
4116959Smckusick 	subl3	r5,r1,r0\n" },
4216959Smckusick #endif vax
4316959Smckusick 
4416959Smckusick #ifdef mc68000
4516959Smckusick /* someday... */
4616959Smckusick #endif mc68000
4716959Smckusick 
4816959Smckusick 	{ "", "" }
4916959Smckusick };
50