(** Useful simplification tactic *)

Ltac Simplif :=
  ((rewrite nextinstr_inv by eauto with asmgen)
  || (rewrite nextinstr_inv1 by eauto with asmgen)
  || (rewrite nextinstr_nf_inv by eauto with asmgen)
  || (rewrite Pregmap.gss)
  || (rewrite nextinstr_pc)
  || (rewrite nextinstr_nf_pc)
  || (rewrite Pregmap.gso by eauto with asmgen)); auto with asmgen.Ltac Simpl := repeat Simplif.

Lemma decompose_int_arm_xor: forall N n p x, List.fold_left Int.xor (decompose_int_arm N n p) x = Int.xor x n.