(** And int64 immediate. *)

(* Specifications: *)
Lemma andimm64_base_correct:
forall r1 r2 n k rs m,
r2 <> GPR0 ->
exists rs',
exec_straight ge fn (andimm64_base r1 r2 n k) rs m  k rs' m
/\ rs'#r1 = Val.andl rs#r2 (Vlong n)
/\ forall r': preg, r' <> r1 -> r' <> GPR12 -> important_preg r' = true  -> rs'#r' = rs#r'.
Lemma andimm64_correct:
forall r1 r2 n k rs m,
r2 <> GPR0 ->
exists rs',
exec_straight ge fn (andimm64 r1 r2 n k) rs m  k rs' m
/\ rs'#r1 = Val.andl rs#r2 (Vlong n)
/\ forall r': preg, r' <> r1 -> r' <> GPR12 -> important_preg r' = true  -> rs'#r' = rs#r'.