aboutsummaryrefslogtreecommitdiffstats
path: root/test/regression/extasm.c
diff options
context:
space:
mode:
authorXavier Leroy <xavierleroy@users.noreply.github.com>2019-09-11 15:13:12 +0200
committerGitHub <noreply@github.com>2019-09-11 15:13:12 +0200
commit7601fb5e792a5305336e5cda9794c4041d053b95 (patch)
treef0dc0acd7bb5ad6dae80e4389fb165fa93eb3cb8 /test/regression/extasm.c
parentd3eba50731c23546c6e9ccb14230460fc1da592e (diff)
parentc243b565ab0744086e10efcfee16768f6c3cf880 (diff)
downloadcompcert-7601fb5e792a5305336e5cda9794c4041d053b95.tar.gz
compcert-7601fb5e792a5305336e5cda9794c4041d053b95.zip
Merge pull request #313 from AbsInt/aarch64
Support target architecture AArch64 (ARMv8 in 64-bit mode)
Diffstat (limited to 'test/regression/extasm.c')
-rw-r--r--test/regression/extasm.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/test/regression/extasm.c b/test/regression/extasm.c
index 83a07a05..297178d1 100644
--- a/test/regression/extasm.c
+++ b/test/regression/extasm.c
@@ -5,14 +5,16 @@ int clobbers(int x, int z)
{
int y;
asm("TEST0 out:%0 in:%1" : "=r"(y) : "r"(x) : "cc"
-#if defined(__x86_64__)
+#if defined(ARCH_x86) && defined(MODEL_64)
, "rax", "rdx", "rbx"
-#elif defined(__i386__)
+#elif defined(ARCH_x86) && !defined(MODEL_64)
, "eax", "edx", "ebx"
-#elif defined(__arm__)
+#elif defined(ARCH_arm)
, "r0", "r1", "r4"
-#elif defined(__PPC__)
+#elif defined(ARCH_powerpc)
, "r0", "r3", "r4", "r31"
+#elif defined(ARCH_aarch64)
+ , "x0", "x1", "x16", "x29", "x30"
#endif
);
return y + z;
@@ -21,7 +23,8 @@ int clobbers(int x, int z)
#if (defined(ARCH_x86) && defined(MODEL_64)) \
|| (defined(ARCH_riscV) && defined(MODEL_64)) \
|| (defined(ARCH_powerpc) && defined(MODEL_ppc64)) \
- || (defined(ARCH_powerpc) && defined(MODEL_e5500))
+ || (defined(ARCH_powerpc) && defined(MODEL_e5500)) \
+ || defined(ARCH_aarch64)
#define SIXTYFOUR
#else
#undef SIXTYFOUR