diff options
author | Martin Storsjo <martin@martin.st> | 2018-01-16 20:54:10 +0000 |
---|---|---|
committer | Martin Storsjo <martin@martin.st> | 2018-01-16 20:54:10 +0000 |
commit | 89e636c87cd43c2dc81c74c46655f527f97b932c (patch) | |
tree | 2b2777e6b1f4a45b11855405aacc8a562ffe12ae /libunwind/src/assembly.h | |
parent | af4ddd5a6e9c99e46cb87e98cadc08a676a98e1d (diff) | |
download | bcm5719-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.h | 11 |
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__) |