aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/arm/sysdeps.h
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2016-08-29 14:54:06 +0200
committerBernhard Schommer <bernhardschommer@gmail.com>2016-08-29 14:54:06 +0200
commit5cf814404cec9a8702e4bfa88e0f9176fa04ecfb (patch)
treefabd44046e3e5b9aaac7f33b9e4dddaa8d3f06e8 /runtime/arm/sysdeps.h
parent3208e22ea89c459a5a7944ad8e82511d4a5328fa (diff)
parent477f73ef96d957de5a896a05175ceaab7e0dce03 (diff)
downloadcompcert-5cf814404cec9a8702e4bfa88e0f9176fa04ecfb.tar.gz
compcert-5cf814404cec9a8702e4bfa88e0f9176fa04ecfb.zip
Merge branch 'master' into advanced-diagnostics
Diffstat (limited to 'runtime/arm/sysdeps.h')
-rw-r--r--runtime/arm/sysdeps.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/runtime/arm/sysdeps.h b/runtime/arm/sysdeps.h
index 3d6a702c..fd4ea61d 100644
--- a/runtime/arm/sysdeps.h
+++ b/runtime/arm/sysdeps.h
@@ -95,3 +95,43 @@ f:
.arch armv7
#endif
.fpu vfpv2
+
+
+
+// Endianness dependencies
+
+// Location of high and low word of first register pair (r0:r1)
+#ifdef ENDIANNESS_big
+#define Reg0HI r0
+#define Reg0LO r1
+#else
+#define Reg0HI r1
+#define Reg0LO r0
+#endif
+
+// Location of high and low word of second register pair (r2:r3)
+#ifdef ENDIANNESS_big
+#define Reg1HI r2
+#define Reg1LO r3
+#else
+#define Reg1HI r3
+#define Reg1LO r2
+#endif
+
+// Location of high and low word of third register pair (r4:r5)
+#ifdef ENDIANNESS_big
+#define Reg2HI r4
+#define Reg2LO r5
+#else
+#define Reg2HI r5
+#define Reg2LO r4
+#endif
+
+// Location of high and low word of fourth register pair (r6:r7)
+#ifdef ENDIANNESS_big
+#define Reg3HI r6
+#define Reg3LO r7
+#else
+#define Reg3HI r7
+#define Reg3LO r6
+#endif