xref: /csrg-svn/sys/vax/inline/libcpats.c (revision 51690)
149438Sbostic /*-
249438Sbostic  * Copyright (c) 1984, 1986 The Regents of the University of California.
349438Sbostic  * All rights reserved.
449438Sbostic  *
549438Sbostic  * %sccs.include.redist.c%
623345Smckusick  */
716959Smckusick 
816959Smckusick #ifndef lint
9*51690Sbostic static char sccsid[] = "@(#)libcpats.c	7.3 (Berkeley) 11/13/91";
1049438Sbostic #endif /* not lint */
1116959Smckusick 
1216963Smckusick #include "inline.h"
1316959Smckusick 
1416959Smckusick /*
1516959Smckusick  * Pattern table for the C library.
1616959Smckusick  */
1716959Smckusick struct pats libc_ptab[] = {
1816959Smckusick 
19*51690Sbostic #if defined(NOTDEF) && defined(vax)
2024382Smckusick 	{ 1, "_fgetc\n",
2116959Smckusick "	sobgeq	*(sp),1f\n\
2216959Smckusick 	calls	$1,__filbuf\n\
2316959Smckusick 	jbr     2f\n\
2416959Smckusick 1:\n\
2516959Smckusick 	addl3	$4,(sp)+,r1\n\
2616959Smckusick 	movzbl	*(r1),r0\n\
2716959Smckusick 	incl	(r1)\n\
2816959Smckusick 2:\n" },
2916959Smckusick 
3024382Smckusick 	{ 2, "_fputc\n",
3116959Smckusick "	sobgeq	*4(sp),1f\n\
3216959Smckusick 	calls	$2,__flsbuf\n\
3316959Smckusick 	jbr	2f\n\
3416959Smckusick 1:\n\
3516959Smckusick 	movq	(sp)+,r0\n\
3616959Smckusick 	movb	r0,*4(r1)\n\
3716959Smckusick 	incl	4(r1)\n\
3816959Smckusick 2:\n" },
39*51690Sbostic #endif
4016959Smckusick 
4127462Skarels #ifdef mc68000
4227462Skarels /* someday... */
4327462Skarels #endif mc68000
4427462Skarels 
4527462Skarels 	{ 0, "", "" }
4627462Skarels };
4727462Skarels 
4827462Skarels struct pats vaxsubset_libc_ptab[] = {
4927462Skarels 
5024382Smckusick 	{ 1, "_strlen\n",
5116959Smckusick "	movl	(sp)+,r5\n\
5216959Smckusick 	movl	r5,r1\n\
5316959Smckusick 1:\n\
5427462Skarels 	tstb	(r1)+\n\
5527462Skarels 	jneq	1b\n\
5627462Skarels 	decl	r1\n\
5727462Skarels 	subl3	r5,r1,r0\n" },
5827462Skarels 
5927462Skarels 	{ 0, "", "" }
6027462Skarels };
6127462Skarels 
6227462Skarels struct pats vax_libc_ptab[] = {
6327462Skarels 
6427462Skarels 	{ 1, "_strlen\n",
6527462Skarels "	movl	(sp)+,r5\n\
6627462Skarels 	movl	r5,r1\n\
6727462Skarels 1:\n\
6816959Smckusick 	locc	$0,$65535,(r1)\n\
6916959Smckusick 	jeql	1b\n\
7016959Smckusick 	subl3	r5,r1,r0\n" },
7116959Smckusick 
7224382Smckusick 	{ 0, "", "" }
7316959Smckusick };
74