From b782b7fda32a910ca0f011f99c5b2864eaeb3e55 Mon Sep 17 00:00:00 2001 From: David Monniaux Date: Thu, 11 Apr 2019 17:19:42 +0200 Subject: __builtin_k1_acswapw --- runtime/include/ccomp_k1c_fixes.h | 6 +++++- runtime/mppa_k1c/vararg.S | 7 +++++++ 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'runtime') diff --git a/runtime/include/ccomp_k1c_fixes.h b/runtime/include/ccomp_k1c_fixes.h index b42323b8..9a2a26c1 100644 --- a/runtime/include/ccomp_k1c_fixes.h +++ b/runtime/include/ccomp_k1c_fixes.h @@ -11,6 +11,10 @@ struct __int128_ccomp { long __int128_ccomp_low; long __int128_ccomp_high; }; #define __int128 struct __int128_ccomp + #define __builtin_k1_acswapd __compcert_acswapd -extern __int128 __compcert_acswapd(unsigned long long *address, unsigned long long new_value, unsigned long long old_value); +extern __int128 __compcert_acswapd(void *address, unsigned long long new_value, unsigned long long old_value); + +#define __builtin_k1_acswapw __compcert_acswapw +extern __int128 __compcert_acswapw(void *address, unsigned long long new_value, unsigned long long old_value); #endif diff --git a/runtime/mppa_k1c/vararg.S b/runtime/mppa_k1c/vararg.S index dbd7b96d..0c96b2ff 100644 --- a/runtime/mppa_k1c/vararg.S +++ b/runtime/mppa_k1c/vararg.S @@ -84,3 +84,10 @@ __compcert_acswapd: sq 0[$r0] = $r2r3 ret ;; + .globl __compcert_acswapw +__compcert_acswapw: + acswapw 0[$r1] = $r2r3 + ;; + sq 0[$r0] = $r2r3 + ret + ;; -- cgit