Section CONSTRUCTORS.
Variable ge: genv.
Variable fn: function.
(** Properties of comparisons. *)
(** Loading a constant. *)
(** Add integer immediate. *)
(** And integer immediate. *)

Lemma andimm_base_correct:
forall r1 r2 n k (rs : regset) m,
r2 <> GPR0 ->
let v := Val.and rs#r2 (Vint n) in
exists rs',
exec_straight ge fn (andimm_base r1 r2 n k) rs m  k rs' m
/\ rs'#r1 = v
/\ rs'#CR0_2 = Val.cmp Ceq v Vzero
/\ forall r', important_preg r' = true -> r' <> r1 -> rs'#r' = rs#r'.