+#if defined(tahoe)
+/*
+ * Instruction stop table.
+ * All instructions that implicitly modify any of the temporary
+ * registers, change control flow, or implicitly loop must be
+ * listed in this table. It is used to find the end of a basic
+ * block when scanning backwards through the instruction stream
+ * trying to merge the inline expansion.
+ */
+struct inststoptbl inststoptable[] = {
+/* control */
+ { "bbssi" }, { "bcc" }, { "bcs" }, { "beql" }, { "beqlu" },
+ { "bgeq" }, { "bgequ" }, { "bgtr" }, { "bgtru" }, { "bleq" },
+ { "blequ" }, { "blss" }, { "blssu" }, { "bneq" }, { "bnequ" },
+ { "brb" }, { "brw" }, { "bvc" }, { "bvs" }, { "jmp" },
+/* jump versions of control */
+ { "jbc" }, { "jbs" }, { "jeql" }, { "jeqlu" },
+ { "jgeq" }, { "jgequ" }, { "jgtr" }, { "jgtru" }, { "jleq" },
+ { "jlequ" }, { "jlss" }, { "jlssu" }, { "jneq" }, { "jnequ" },
+ { "jcc" }, { "jcs" }, { "jvc" }, { "jvs" }, { "jbr" },
+/* multiple registers */
+ { "loadr" },
+/* bit field */
+ { "bbc" }, { "bbs" },
+/* character string and block move */
+ { "cmps2" }, { "cmps3" }, { "movblk" }, { "movs2" }, { "movs3" },
+/* procedure call */
+ { "callf" }, { "calls" }, { "ret" },
+/* loop control */
+ { "aobleq" }, { "aoblss" }, { "casel" },
+/* privileged and miscellaneous */
+ { "bpt" }, { "halt" }, { "kcall" }, { "ldpctx" }, { "rei" },
+ { "svpctx" },
+ { "" }
+};
+
+/*
+ * Check to see if a line is a candidate for replacement.
+ * Return pointer to name to be looked up in pattern table.
+ */
+char *
+doreplaceon(cp)
+ char *cp;
+{
+
+ if (bcmp(cp, "callf\t$", 7) == 0)
+ return (cp + 7);
+ return (0);
+}
+#endif
+
+#if defined(vax) || defined(tahoe)