diff options
author | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-04-11 22:29:14 +0200 |
---|---|---|
committer | David Monniaux <david.monniaux@univ-grenoble-alpes.fr> | 2019-04-11 22:29:14 +0200 |
commit | 4571fc5fade196c02d68c4feb5e5a1b862d37041 (patch) | |
tree | 681f4992fee674059d6f8245e9e2b6da35256e2f /test/monniaux/k1_builtins | |
parent | 9cdb61cc69db8fbb9bedfd3957b9512f8622fb7a (diff) | |
download | compcert-kvx-4571fc5fade196c02d68c4feb5e5a1b862d37041.tar.gz compcert-kvx-4571fc5fade196c02d68c4feb5e5a1b862d37041.zip |
more builtins
Diffstat (limited to 'test/monniaux/k1_builtins')
-rw-r--r-- | test/monniaux/k1_builtins/sbmm8.c | 13 | ||||
-rwxr-xr-x | test/monniaux/k1_builtins/sbmm8_demo.sage | 5 | ||||
-rw-r--r-- | test/monniaux/k1_builtins/test_k1_builtins.c | 12 |
3 files changed, 27 insertions, 3 deletions
diff --git a/test/monniaux/k1_builtins/sbmm8.c b/test/monniaux/k1_builtins/sbmm8.c index da1178dc..3b2ac447 100644 --- a/test/monniaux/k1_builtins/sbmm8.c +++ b/test/monniaux/k1_builtins/sbmm8.c @@ -1,8 +1,15 @@ #include <stdio.h> int main() { - unsigned long a = 0x12345678ABCDEFUL, b=0x12345118ABCD32UL, c; - c = __builtin_k1_sbmm8(a, b); - printf("%lx\n", c); + { + unsigned long a = 0x12345678ABCDEFUL, b=0x12345118ABCD32UL, c; + c = __builtin_k1_sbmm8(a, b); + printf("%lx\n", c); + } + { + unsigned long a = 0x0102040810204080UL, b=0x12345118ABCD32UL, c; + c = __builtin_k1_sbmm8(a, b); + printf("%lx\n", c); + } return 0; } diff --git a/test/monniaux/k1_builtins/sbmm8_demo.sage b/test/monniaux/k1_builtins/sbmm8_demo.sage index 45948668..4a4c9df0 100755 --- a/test/monniaux/k1_builtins/sbmm8_demo.sage +++ b/test/monniaux/k1_builtins/sbmm8_demo.sage @@ -14,3 +14,8 @@ matA=mat_from_uint64(0x12345678ABCDEF) matB=mat_from_uint64(0x12345118ABCD32) print hex(uint64_from_mat(matB * matA)) + +matA=mat_from_uint64(0x0201040810208040) +matB=mat_from_uint64(0x0102011701010133) + +print matA*matB diff --git a/test/monniaux/k1_builtins/test_k1_builtins.c b/test/monniaux/k1_builtins/test_k1_builtins.c index 94509131..e02c7f2e 100644 --- a/test/monniaux/k1_builtins/test_k1_builtins.c +++ b/test/monniaux/k1_builtins/test_k1_builtins.c @@ -1,3 +1,4 @@ +#include <stdio.h> #include <mppa_bare_runtime/k1c/registers.h> void test_system_regs(void) { @@ -8,6 +9,11 @@ void test_system_regs(void) { } void test_loads(void *addr) { + __builtin_k1_alclrd(addr); + __builtin_k1_alclrw(addr); + __builtin_k1_lbzu(addr); + __builtin_k1_lhzu(addr); + __builtin_k1_lwzu(addr); __builtin_k1_ldu(addr); __builtin_k1_dinvall(addr); __builtin_k1_dtouchl(addr); @@ -26,3 +32,9 @@ void test_stops(void) { __builtin_k1_dinval(); __builtin_k1_iinval(); } + +int main() { + unsigned long long data = 45; + unsigned long long res = __builtin_k1_alclrd(&data); + printf("%llu %llu\n", res, data); +} |