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: };

Defined variables

machine_ptab defined in line 12; used 1 times
sccsid defined in line 4; never used
Last modified: 1986-02-01
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 876
Valid CSS Valid XHTML 1.0 Strict