(** Translation of arguments and results to builtins. *)
Remark builtin_arg_match:
forall ge (rs: regset) sp m a v,
eval_builtin_arg ge (fun r => rs (preg_of r)) sp m a v ->
eval_builtin_arg ge rs sp m (map_builtin_arg preg_of a) v.

Lemma builtin_args_match:
forall ge ms sp rs m m', agree ms sp rs -> Mem.extends m m' ->
forall al vl, eval_builtin_args ge ms sp m al vl ->
exists vl', eval_builtin_args ge rs sp m' (map (map_builtin_arg preg_of) al) vl'
/\ Val.lessdef_list vl vl'.