|
|
1.1 root 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: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.