aboutsummaryrefslogtreecommitdiffstats
path: root/test/monniaux/ternary_builtin/ternary_builtin.c
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-03 21:01:17 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-03 21:01:17 +0200
commit104681e5db184659a36762e0776cef133d70455b (patch)
treed0ad556679cde1526bb947ca15ee0bf740c2fc34 /test/monniaux/ternary_builtin/ternary_builtin.c
parentfd2c2a0bdf723dce559567324711a3127ce0582e (diff)
parent4032ed3192424a23dbb0a4f3bd2a539b22625168 (diff)
downloadcompcert-kvx-104681e5db184659a36762e0776cef133d70455b.tar.gz
compcert-kvx-104681e5db184659a36762e0776cef133d70455b.zip
Merge branch 'mppa-ternary' of gricad-gitlab.univ-grenoble-alpes.fr:sixcy/CompCert into mppa-ternary
Diffstat (limited to 'test/monniaux/ternary_builtin/ternary_builtin.c')
-rw-r--r--test/monniaux/ternary_builtin/ternary_builtin.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/test/monniaux/ternary_builtin/ternary_builtin.c b/test/monniaux/ternary_builtin/ternary_builtin.c
index caa1c4c7..1295581c 100644
--- a/test/monniaux/ternary_builtin/ternary_builtin.c
+++ b/test/monniaux/ternary_builtin/ternary_builtin.c
@@ -1,11 +1,14 @@
-int ternary_signed(int x, int v0, int v1) {
- return ((-(x==0)) & v0) | ((-(x!=0)) & v1);
+#include <stdio.h>
+
+unsigned essai(int x, unsigned y, unsigned z) {
+ return __builtin_ternary_uint(x, y, z);
}
-int ternary_unsigned(unsigned x, int v0, int v1) {
- return ((-(x==0)) & v0) | ((-(x!=0)) & v1);
+unsigned long essai2(int x, unsigned long y, unsigned long z) {
+ return __builtin_ternary_ulong(x, y, z);
}
-long ternary_signedl(long x, long v0, long v1) {
- return ((-(x==0)) & v0) | ((-(x!=0)) & v1);
+int main() {
+ printf("%ld\n", essai2(0, 42, 69));
+ return 0;
}