diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-04-07 09:39:16 +0200 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-04-07 09:39:16 +0200 |
commit | b75f59eeee0e8b73a7116fd49f08810e7d4382fe (patch) | |
tree | 917c5a385de1910d4faf49904a69b0531fb13ba2 /test/monniaux | |
parent | 5075fa97d74731c1b7d92b6f8c122805788e6b40 (diff) | |
download | compcert-kvx-b75f59eeee0e8b73a7116fd49f08810e7d4382fe.tar.gz compcert-kvx-b75f59eeee0e8b73a7116fd49f08810e7d4382fe.zip |
predicated experiments
Diffstat (limited to 'test/monniaux')
-rw-r--r-- | test/monniaux/predicated/predicated.s | 13 | ||||
-rw-r--r-- | test/monniaux/predicated/predicated_run.c | 16 |
2 files changed, 29 insertions, 0 deletions
diff --git a/test/monniaux/predicated/predicated.s b/test/monniaux/predicated/predicated.s new file mode 100644 index 00000000..f11606c2 --- /dev/null +++ b/test/monniaux/predicated/predicated.s @@ -0,0 +1,13 @@ + .text + + .globl predicated_write +predicated_write: + sd.wnez $r0? 8[$r1] = $r2 + ret + ;; + + .globl predicated_read +predicated_read: + ld.wnez $r1? $r0 = 8[$r2] + ret + ;; diff --git a/test/monniaux/predicated/predicated_run.c b/test/monniaux/predicated/predicated_run.c new file mode 100644 index 00000000..2a15318b --- /dev/null +++ b/test/monniaux/predicated/predicated_run.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +extern void predicated_write(int flag, long *buf, long data); +extern long predicated_read(long defval, int flag, long *buf); + +int main() { + long buf[2] = {42, 69}; + printf("%ld\n", buf[1]); + predicated_write(0, buf, 33); + printf("%ld\n", buf[1]); + predicated_write(1, buf, 45); + printf("%ld\n", buf[1]); + printf("%ld\n", predicated_read(1515, 0, buf)); + printf("%ld\n", predicated_read(1789, 1, buf)); + return 0; +} |