diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-09-25 21:31:57 +0200 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-09-25 21:31:57 +0200 |
commit | c420bc8d3b87d71c38209b5ab8bca22875466362 (patch) | |
tree | 0b8e76fc0421b1642571eb27a53acb94f246bf73 /backend | |
parent | 5ca4b192499ee4829aee1256a3bebf2318c68108 (diff) | |
download | compcert-kvx-c420bc8d3b87d71c38209b5ab8bca22875466362.tar.gz compcert-kvx-c420bc8d3b87d71c38209b5ab8bca22875466362.zip |
__builtin_expect defined as its first argument
Diffstat (limited to 'backend')
-rw-r--r-- | backend/Selection.v | 3 | ||||
-rw-r--r-- | backend/Selectionproof.v | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/backend/Selection.v b/backend/Selection.v index 4ab3331e..7ba8fe92 100644 --- a/backend/Selection.v +++ b/backend/Selection.v @@ -243,7 +243,8 @@ Definition sel_builtin_res (optid: option ident) : builtin_res ident := Function sel_known_builtin (bf: builtin_function) (args: exprlist) := match bf, args with | BI_platform b, _ => - SelectOp.platform_builtin b args + SelectOp.platform_builtin b args + | BI_standard BI_expect, a1 ::: a2 ::: Enil => Some a1 | BI_standard (BI_select ty), a1 ::: a2 ::: a3 ::: Enil => Some (sel_select ty a1 a2 a3) | BI_standard BI_fabs, a1 ::: Enil => diff --git a/backend/Selectionproof.v b/backend/Selectionproof.v index 8a827af2..0be96167 100644 --- a/backend/Selectionproof.v +++ b/backend/Selectionproof.v @@ -395,6 +395,13 @@ Proof. inv ARGS; try discriminate. inv H0; try discriminate. inv SEL. simpl in SEM; inv SEM. apply eval_absf; auto. ++ (* expect *) + inv ARGS; try discriminate. + inv H0; try discriminate. + inv H2; try discriminate. + simpl in SEM. inv SEM. inv SEL. + destruct v1; destruct v0. + all: econstructor; split; eauto. - eapply eval_platform_builtin; eauto. Qed. |