aboutsummaryrefslogtreecommitdiffstats
path: root/kvx/SelectLong.vp
diff options
context:
space:
mode:
Diffstat (limited to 'kvx/SelectLong.vp')
-rw-r--r--kvx/SelectLong.vp13
1 files changed, 8 insertions, 5 deletions
diff --git a/kvx/SelectLong.vp b/kvx/SelectLong.vp
index b3638eca..3598025a 100644
--- a/kvx/SelectLong.vp
+++ b/kvx/SelectLong.vp
@@ -23,6 +23,7 @@ Require Import OpHelpers.
Require Import SelectOp SplitLong.
Require Import ExtValues.
Require Import DecBoolOps.
+Require FPExtra.
Local Open Scope cminorsel_scope.
Local Open Scope string_scope.
@@ -433,28 +434,30 @@ Definition cmpl (c: comparison) (e1 e2: expr) :=
(** ** Floating-point conversions *)
Definition longoffloat (e: expr) :=
- if Archi.splitlong then SplitLong.longoffloat e else
Eop Olongoffloat (e:::Enil).
Definition longuoffloat (e: expr) :=
- if Archi.splitlong then SplitLong.longuoffloat e else
Eop Olonguoffloat (e:::Enil).
Definition floatoflong (e: expr) :=
- if Archi.splitlong then SplitLong.floatoflong e else
Eop Ofloatoflong (e:::Enil).
Definition floatoflongu (e: expr) :=
- if Archi.splitlong then SplitLong.floatoflongu e else
Eop Ofloatoflongu (e:::Enil).
Definition longofsingle (e: expr) := longoffloat (floatofsingle e).
Definition longuofsingle (e: expr) := longuoffloat (floatofsingle e).
+Definition use_inlined_fp_conversions := true.
+Opaque use_inlined_fp_conversions.
+
Definition singleoflong (e: expr) := SplitLong.singleoflong e.
-Definition singleoflongu (e: expr) := SplitLong.singleoflongu e.
+Definition singleoflongu (e: expr) :=
+ if use_inlined_fp_conversions
+ then FPExtra.e_single_of_longu e
+ else SplitLong.singleoflongu e.
End SELECT.