aboutsummaryrefslogtreecommitdiffstats
path: root/mppa_k1c/Builtins1.v
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-08-30 19:10:42 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-08-30 19:10:42 +0200
commitcaac487ae23a9785602cf235f5b4a2b6749f2c18 (patch)
treee81ae59a6e06a0373afdfbf8f1ee94f16a2770f2 /mppa_k1c/Builtins1.v
parent1522f289301f37da0324570297c65256d8a32316 (diff)
downloadcompcert-kvx-caac487ae23a9785602cf235f5b4a2b6749f2c18.tar.gz
compcert-kvx-caac487ae23a9785602cf235f5b4a2b6749f2c18.zip
fma
Diffstat (limited to 'mppa_k1c/Builtins1.v')
-rw-r--r--mppa_k1c/Builtins1.v12
1 files changed, 11 insertions, 1 deletions
diff --git a/mppa_k1c/Builtins1.v b/mppa_k1c/Builtins1.v
index 5187ea7d..6186961f 100644
--- a/mppa_k1c/Builtins1.v
+++ b/mppa_k1c/Builtins1.v
@@ -24,7 +24,9 @@ Inductive platform_builtin : Type :=
| BI_fmax
| BI_fminf
| BI_fmaxf
-| BI_fabsf.
+| BI_fabsf
+| BI_fma
+| BI_fmaf.
Local Open Scope string_scope.
@@ -34,6 +36,8 @@ Definition platform_builtin_table : list (string * platform_builtin) :=
:: ("__builtin_fminf", BI_fminf)
:: ("__builtin_fmaxf", BI_fmaxf)
:: ("__builtin_fabsf", BI_fabsf)
+ :: ("__builtin_fma", BI_fma)
+ :: ("__builtin_fmaf", BI_fmaf)
:: nil.
Definition platform_builtin_sig (b: platform_builtin) : signature :=
@@ -44,6 +48,10 @@ Definition platform_builtin_sig (b: platform_builtin) : signature :=
mksignature (Tsingle :: Tsingle :: nil) (Some Tsingle) cc_default
| BI_fabsf =>
mksignature (Tsingle :: nil) (Some Tsingle) cc_default
+ | BI_fma =>
+ mksignature (Tfloat :: Tfloat :: Tfloat :: nil) (Some Tfloat) cc_default
+ | BI_fmaf =>
+ mksignature (Tsingle :: Tsingle :: Tsingle :: nil) (Some Tsingle) cc_default
end.
Definition platform_builtin_sem (b: platform_builtin) : builtin_sem (proj_sig_res (platform_builtin_sig b)) :=
@@ -53,4 +61,6 @@ Definition platform_builtin_sem (b: platform_builtin) : builtin_sem (proj_sig_re
| BI_fminf => mkbuiltin_n2t Tsingle Tsingle Tsingle ExtFloat32.min
| BI_fmaxf => mkbuiltin_n2t Tsingle Tsingle Tsingle ExtFloat32.max
| BI_fabsf => mkbuiltin_n1t Tsingle Tsingle Float32.abs
+ | BI_fma => mkbuiltin_n3t Tfloat Tfloat Tfloat Tfloat Float.fma
+ | BI_fmaf => mkbuiltin_n3t Tsingle Tsingle Tsingle Tsingle Float32.fma
end.