aboutsummaryrefslogtreecommitdiffstats
path: root/backend/Selection.v
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-03 21:00:46 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-03 21:00:46 +0200
commit4032ed3192424a23dbb0a4f3bd2a539b22625168 (patch)
treed1991d95bafffbdbd0e01ed9a8dc273dd5eaa571 /backend/Selection.v
parent015a05d8661504388ea1109f740eb16220311f93 (diff)
downloadcompcert-kvx-4032ed3192424a23dbb0a4f3bd2a539b22625168.tar.gz
compcert-kvx-4032ed3192424a23dbb0a4f3bd2a539b22625168.zip
problem in ValueAOp
Diffstat (limited to 'backend/Selection.v')
-rw-r--r--backend/Selection.v18
1 files changed, 17 insertions, 1 deletions
diff --git a/backend/Selection.v b/backend/Selection.v
index 5e45dde3..5cfa3dcb 100644
--- a/backend/Selection.v
+++ b/backend/Selection.v
@@ -286,10 +286,26 @@ Definition sel_builtin optid ef args :=
((sel_expr a3):::
(sel_expr a2):::
(sel_expr a1):::Enil)))
+ | _ => Error (msg "__builtin_ternary_ulong: arguments")
+ end
+ end
+ else
+ if String.string_dec name "__builtin_ternary_ulong"
+ then
+ match optid with
+ | None => OK Sskip
+ | Some id =>
+ match args with
+ | a1::a2::a3::nil =>
+ OK (Sassign id (Eop Oselectl
+ ((sel_expr a3):::
+ (sel_expr a2):::
+ (sel_expr a1):::Enil)))
| _ => Error (msg "__builtin_ternary_uint: arguments")
end
end
- else sel_builtin_default optid ef args)
+ else
+ sel_builtin_default optid ef args)
| _ => sel_builtin_default optid ef args
end.