Remark decompose_cmpl_eq_zero:
  forall h l,
  Int64.eq (Int64.ofwords h l) Int64.zero = Int.eq (Int.or h l) Int.zero.

Lemma eval_cmplu_gen: forall ch cl a b le x y, eval_expr ge sp e m le a (Vlong x) -> eval_expr ge sp e m le b (Vlong y) -> eval_expr ge sp e m le (cmplu_gen ch cl a b) (Val.of_bool (if Int.eq (Int64.hiword x) (Int64.hiword y) then Int.cmpu cl (Int64.loword x) (Int64.loword y) else Int.cmpu ch (Int64.hiword x) (Int64.hiword y))).