(** The needs of a memory store concerning the value being stored. *)
Definition store_argument (chunk: memory_chunk) :=
match chunk with
| Mint8signed | Mint8unsigned => I (Int.repr 255)
| Mint16signed | Mint16unsigned => I (Int.repr 65535)
| _ => All
end.

(* Specifications: *)
Lemma store_argument_sound:
forall chunk v w,
vagree v w (store_argument chunk) ->
list_forall2 memval_lessdef (encode_val chunk v) (encode_val chunk w).
Lemma store_argument_load_result:
forall chunk v w,
vagree v w (store_argument chunk) ->
Val.lessdef (Val.load_result chunk v) (Val.load_result chunk w).