Proof with eauto with reg_renamings val_renamings.
intros.
inversion Harg; subst.
eapply extcall_arg_reg in H; eauto.
destruct H as [arg' [Harg' Hobs_arg]].
exists arg'.
split...
constructor; auto.
eapply extcall_arg_reg in H; eauto.
eapply extcall_arg_reg in H0; eauto.
destruct H as [vhi' [Hhi' Hobs_hi]].
destruct H0 as [vlo' [Hlo' Hobs_lo]].
exists (Val.longofwords vhi' vlo').
split...
constructor; auto.
Qed.

Lemma extcall_arguments_ren:
forall f m m' ef args rs rs'
(Hexternal: extcall_arguments rs m (ef_sig ef) args)
(Hmem_obs_eq: mem_obs_eq f m m')
(Hrs_ren: regset_ren f rs rs'),
exists args',
extcall_arguments rs' m' (ef_sig ef) args' /\
val_obs_list f args args'.