+ printf (" gcc_unreachable ();\n");
+ printf (" }\n");
+ printf ("}\n");
+}
+\f
+/* Write a function, `added_clobbers_hard_reg_p' that is given an insn_code
+ number that will have clobbers added (as indicated by `recog') and returns
+ 1 if those include a clobber of a hard reg or 0 if all of them just clobber
+ SCRATCH. */
+
+static void
+output_added_clobbers_hard_reg_p (void)
+{
+ struct clobber_pat *clobber;
+ struct clobber_ent *ent;
+ int clobber_p, used;
+
+ printf ("\n\nint\nadded_clobbers_hard_reg_p (int insn_code_number)\n");
+ printf ("{\n");
+ printf (" switch (insn_code_number)\n");
+ printf (" {\n");
+
+ for (clobber_p = 0; clobber_p <= 1; clobber_p++)
+ {
+ used = 0;
+ for (clobber = clobber_list; clobber; clobber = clobber->next)
+ if (clobber->has_hard_reg == clobber_p)
+ for (ent = clobber->insns; ent; ent = ent->next)
+ {
+ printf (" case %d:\n", ent->code_number);
+ used++;
+ }
+
+ if (used)
+ printf (" return %d;\n\n", clobber_p);
+ }
+
+ printf (" default:\n");
+ printf (" gcc_unreachable ();\n");