aboutsummaryrefslogtreecommitdiffstats
path: root/test/monniaux/cycles.h
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-03-09 12:43:36 +0100
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2020-03-09 12:43:36 +0100
commit510923fcea8ededcd71fc81ae0fb1981bf8b9223 (patch)
tree1ac0bc6726903edcc07cf1bf10101d621593a30d /test/monniaux/cycles.h
parent668912983cd68f5f233bfd3af280f911a8522a84 (diff)
downloadcompcert-kvx-510923fcea8ededcd71fc81ae0fb1981bf8b9223.tar.gz
compcert-kvx-510923fcea8ededcd71fc81ae0fb1981bf8b9223.zip
cycles.h for ARMv7
Diffstat (limited to 'test/monniaux/cycles.h')
-rw-r--r--test/monniaux/cycles.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/monniaux/cycles.h b/test/monniaux/cycles.h
index 21541145..4a87299b 100644
--- a/test/monniaux/cycles.h
+++ b/test/monniaux/cycles.h
@@ -38,6 +38,13 @@ static inline cycle_t get_cycle(void) {
return cycles;
}
+#elif defined (__ARM_ARCH) && (__ARM_ARCH >= 6)
+static inline cycle_t get_cycle(void) {
+ cycle_t cycles;
+ __asm__ volatile ("mrc p15, 0, %0, c9, c13, 0":"=r" (cycles));
+ return cycles;
+}
+
#else
static inline cycle_t get_cycle(void) { return 0; }
#endif