aboutsummaryrefslogtreecommitdiffstats
path: root/backend/Selection.v
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-03 20:26:32 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-03 20:26:32 +0200
commit93fd5df1bff8b22b3513a07a765b0a72f1505243 (patch)
tree005f21ad3fe253b52612e09f4e1ccae2811c0d87 /backend/Selection.v
parent2dca62f38463b0ebce24fff50666c846df50488e (diff)
downloadcompcert-kvx-93fd5df1bff8b22b3513a07a765b0a72f1505243.tar.gz
compcert-kvx-93fd5df1bff8b22b3513a07a765b0a72f1505243.zip
some more on builtins
Diffstat (limited to 'backend/Selection.v')
-rw-r--r--backend/Selection.v17
1 files changed, 14 insertions, 3 deletions
diff --git a/backend/Selection.v b/backend/Selection.v
index 27c5bd10..e63cbce3 100644
--- a/backend/Selection.v
+++ b/backend/Selection.v
@@ -268,9 +268,20 @@ Definition sel_switch_long :=
lowlong.
Definition sel_builtin optid ef args :=
- Sbuiltin (sel_builtin_res optid) ef
- (sel_builtin_args args
- (Machregs.builtin_constraints ef)).
+ match ef with
+ | EF_builtin name sign =>
+ (if String.string_dec name "__builtin_ternary_uint"
+ then Sbuiltin (sel_builtin_res optid) ef
+ (sel_builtin_args args
+ (Machregs.builtin_constraints ef))
+ else Sbuiltin (sel_builtin_res optid) ef
+ (sel_builtin_args args
+ (Machregs.builtin_constraints ef)))
+ | _ =>
+ Sbuiltin (sel_builtin_res optid) ef
+ (sel_builtin_args args
+ (Machregs.builtin_constraints ef))
+ end.
(** Conversion from Cminor statements to Cminorsel statements. *)