diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2014-07-29 13:42:11 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2014-07-29 13:42:11 +0000 |
commit | 769589fb4f72edf46c16a396de6777d8e2fbb9bf (patch) | |
tree | 433505a6dba47631170d815945d2782bbc56a264 /runtime/arm/sysdeps.h | |
parent | 21e269ee37b934428306f53dda0495fee30dd8fa (diff) |
configure: distinguish between ABI and processor model.
ARM: various tweaks, incl. support for SDIV and UDIV insns when available.
test/regression/funptr2.c: Thumb does weird things with <function ptr>+1.
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2555 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'runtime/arm/sysdeps.h')
-rw-r--r-- | runtime/arm/sysdeps.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/runtime/arm/sysdeps.h b/runtime/arm/sysdeps.h index b72af0f..85404cf 100644 --- a/runtime/arm/sysdeps.h +++ b/runtime/arm/sysdeps.h @@ -34,6 +34,13 @@ // System dependencies +#if defined(MODEL_armv7r) +// Thumb2-only +#define THUMB +#else +#undef THUMB +#endif + #ifdef THUMB #define FUNCTION(f) \ .text; \ @@ -76,9 +83,15 @@ f: #define SUB THUMB_S(sub) .syntax unified -#ifdef THUMB - .arch armv7 +#if defined(MODEL_armv6) + .arch armv6 +#elif defined(MODEL_armv7a) + .arch armv7-a +#elif defined(MODEL_armv7r) + .arch armv7-r +#elif defined(MODEL_armv7m) + .arch armv7-m #else - .arch armv6 + .arch armv7 #endif .fpu vfpv2 |