Remark loadimm_label:
  forall r n k, tail_nolabel k (loadimm r n k).Remark addimm_label:
  forall r1 r2 n k, tail_nolabel k (addimm r1 r2 n k).Remark andimm_base_label:
  forall r1 r2 n k, tail_nolabel k (andimm_base r1 r2 n k).Remark andimm_label:
  forall r1 r2 n k, tail_nolabel k (andimm r1 r2 n k).Remark orimm_label:
  forall r1 r2 n k, tail_nolabel k (orimm r1 r2 n k).Remark xorimm_label:
  forall r1 r2 n k, tail_nolabel k (xorimm r1 r2 n k).Remark rolm_label:
  forall r1 r2 amount mask k, tail_nolabel k (rolm r1 r2 amount mask k).Remark loadimm64_label:
  forall r n k, tail_nolabel k (loadimm64 r n k).Remark loadind_label:
  forall base ofs ty dst k c,
  loadind base ofs ty dst k = OK c -> tail_nolabel k c.Remark storeind_label:
  forall base ofs ty src k c,
  storeind src base ofs ty k = OK c -> tail_nolabel k c.Remark floatcomp_label:
  forall cmp r1 r2 k, tail_nolabel k (floatcomp cmp r1 r2 k).Remark transl_cond_label:
  forall cond args k c,
  transl_cond cond args k = OK c -> tail_nolabel k c.Remark transl_cond_op_label:
  forall cond args r k c,
  transl_cond_op cond args r k = OK c -> tail_nolabel k c.Remark transl_op_label:
  forall op args r k c,
  transl_op op args r k = OK c -> tail_nolabel k c.Remark transl_memory_access_label:
  forall (mk1: constant -> ireg -> instruction) (mk2: ireg -> ireg -> instruction)
         addr args temp k c,
  transl_memory_access mk1 mk2 addr args temp k = OK c ->
  (forall c r, nolabel (mk1 c r)) ->
  (forall r1 r2, nolabel (mk2 r1 r2)) ->
  tail_nolabel k c.Remark transl_epilogue_label:
  forall f k, tail_nolabel k (transl_epilogue f k).

Lemma transl_instr_label: forall f i ep k c, transl_instr f i ep k = OK c -> match i with Mlabel lbl => c = Plabel lbl :: k | _ => tail_nolabel k c end.