diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-05-29 09:47:01 +0200 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-05-29 09:47:01 +0200 |
commit | efd88a7e6fc5e7eacff6cb76830b27f334b46daa (patch) | |
tree | 512494eb551bf03dfa383b0cecc4e33756365e1e /runtime | |
parent | 6fc8d55b1bd8a14b9c3b530e9ee24beee9a8afde (diff) | |
parent | 83cc11add90eea576a798bacf821a70a28d4d9cc (diff) | |
download | compcert-kvx-efd88a7e6fc5e7eacff6cb76830b27f334b46daa.tar.gz compcert-kvx-efd88a7e6fc5e7eacff6cb76830b27f334b46daa.zip |
Merge remote-tracking branch 'origin/mppa-cos' into mppa-fast-div
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/include/ccomp_k1c_fixes.h | 4 | ||||
-rw-r--r-- | runtime/mppa_k1c/i64_sdiv.c | 10 |
2 files changed, 14 insertions, 0 deletions
diff --git a/runtime/include/ccomp_k1c_fixes.h b/runtime/include/ccomp_k1c_fixes.h index 9a2a26c1..5c543d8f 100644 --- a/runtime/include/ccomp_k1c_fixes.h +++ b/runtime/include/ccomp_k1c_fixes.h @@ -18,3 +18,7 @@ extern __int128 __compcert_acswapd(void *address, unsigned long long new_value, #define __builtin_k1_acswapw __compcert_acswapw extern __int128 __compcert_acswapw(void *address, unsigned long long new_value, unsigned long long old_value); #endif + +#define __builtin_expect(x, y) (x) +#define __builtin_ctz(x) __builtin_k1_ctzw(x) +#define __builtin_clz(x) __builtin_k1_clzw(x) diff --git a/runtime/mppa_k1c/i64_sdiv.c b/runtime/mppa_k1c/i64_sdiv.c index 18a2c46c..d1d268c4 100644 --- a/runtime/mppa_k1c/i64_sdiv.c +++ b/runtime/mppa_k1c/i64_sdiv.c @@ -1,4 +1,14 @@ +#ifdef __K1C_COS__ +#include <hal/cos_registers.h> +#define K1_SFR_CS_IO_MASK COS_SFR_CS_IO_MASK +#define K1_SFR_CS_DZ_MASK COS_SFR_CS_DZ_MASK +#define K1_SFR_CS_OV_MASK COS_SFR_CS_OV_MASK +#define K1_SFR_CS_UN_MASK COS_SFR_CS_UN_MASK +#define K1_SFR_CS_IN_MASK COS_SFR_CS_IN_MASK +#define K1_SFR_CS COS_SFR_CS +#else #include <mppa_bare_runtime/k1c/registers.h> +#endif /* DM FIXME this is for floating point */ int fetestexcept(int excepts) { |