summaryrefslogtreecommitdiffstats
path: root/libunwind/src/assembly.h
diff options
context:
space:
mode:
authorMartin Storsjo <martin@martin.st>2018-01-16 20:54:10 +0000
committerMartin Storsjo <martin@martin.st>2018-01-16 20:54:10 +0000
commit89e636c87cd43c2dc81c74c46655f527f97b932c (patch)
tree2b2777e6b1f4a45b11855405aacc8a562ffe12ae /libunwind/src/assembly.h
parentaf4ddd5a6e9c99e46cb87e98cadc08a676a98e1d (diff)
downloadbcm5719-llvm-89e636c87cd43c2dc81c74c46655f527f97b932c.tar.gz
bcm5719-llvm-89e636c87cd43c2dc81c74c46655f527f97b932c.zip
[PPC64] Added vector registers.
The Registers_ppc64 class needed a couple of changes, both to accommodate the new registers as well as to handle the overlaps of VS register set without wasting space. The save/restore code of V and VS registers was added. As VS registers depend on the VMX extension, they are processed only if VMX support is detected (_ARCH_PWR8 for now). Patch by Leandro Lupori! Differential Revision: https://reviews.llvm.org/D41906 llvm-svn: 322596
Diffstat (limited to 'libunwind/src/assembly.h')
-rw-r--r--libunwind/src/assembly.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/libunwind/src/assembly.h b/libunwind/src/assembly.h
index ba099cbe809..07b08f94bd8 100644
--- a/libunwind/src/assembly.h
+++ b/libunwind/src/assembly.h
@@ -18,6 +18,17 @@
#if defined(__powerpc64__)
#define SEPARATOR ;
+#define PPC64_OFFS_SRR0 0
+#define PPC64_OFFS_CR 272
+#define PPC64_OFFS_XER 280
+#define PPC64_OFFS_LR 288
+#define PPC64_OFFS_CTR 296
+#define PPC64_OFFS_VRSAVE 304
+#define PPC64_OFFS_FP 312
+#define PPC64_OFFS_V 824
+#ifdef _ARCH_PWR8
+#define PPC64_HAS_VMX
+#endif
#elif defined(__POWERPC__) || defined(__powerpc__) || defined(__ppc__)
#define SEPARATOR @
#elif defined(__arm64__)
OpenPOWER on IntegriCloud