diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2021-02-01 16:09:31 +0100 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2021-02-01 16:09:31 +0100 |
commit | 52f602db7f306441cfa509cee7cce8cf8567ddc1 (patch) | |
tree | 62b1e877d71eaf192aab6d9b26e91a65adf86aa2 /riscV/Builtins1.v | |
parent | d2dc422b91ed628f0f8d6286a23f6f4fb9869248 (diff) | |
download | compcert-kvx-52f602db7f306441cfa509cee7cce8cf8567ddc1.tar.gz compcert-kvx-52f602db7f306441cfa509cee7cce8cf8567ddc1.zip |
adding builtins
Diffstat (limited to 'riscV/Builtins1.v')
-rw-r--r-- | riscV/Builtins1.v | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/riscV/Builtins1.v b/riscV/Builtins1.v index 53c83d7e..86bcb2ac 100644 --- a/riscV/Builtins1.v +++ b/riscV/Builtins1.v @@ -18,16 +18,27 @@ Require Import String Coqlib. Require Import AST Integers Floats Values. Require Import Builtins0. +Require ExtValues. -Inductive platform_builtin : Type := . +Inductive platform_builtin : Type := +| BI_bits_of_float +| BI_bits_of_double. Local Open Scope string_scope. Definition platform_builtin_table : list (string * platform_builtin) := - nil. + ("__builtin_bits_of_float", BI_bits_of_float) + :: ("__builtin_bits_of_double", BI_bits_of_double) + :: nil. Definition platform_builtin_sig (b: platform_builtin) : signature := - match b with end. + match b with + | BI_bits_of_float => mksignature (Tsingle :: nil) Tint cc_default + | BI_bits_of_double => mksignature (Tfloat :: nil) Tlong cc_default + end. Definition platform_builtin_sem (b: platform_builtin) : builtin_sem (sig_res (platform_builtin_sig b)) := - match b with end. + match b with + | BI_bits_of_float => mkbuiltin_n1t Tsingle Tint Float32.to_bits + | BI_bits_of_double => mkbuiltin_n1t Tfloat Tlong Float.to_bits + end. |