| From 9a225e7d4fb1de5c99c6b5b17cae2fc4c2d1c59a Mon Sep 17 00:00:00 2001 |
| From: Alexey Brodkin <abrodkin@synopsys.com> |
| Date: Fri, 15 Sep 2017 11:59:14 +0300 |
| Subject: [PATCH] Add support of ARC |
| |
| Synopsys DesignWare ARC Processors are a family of 32-bit CPUs |
| which in some configurations may run Linux kernel and full stack |
| of applications on top of it. Among other things is Python. |
| |
| With that change we allow building and usage of Numpy on ARC. |
| |
| Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> |
| --- |
| numpy/core/include/numpy/npy_cpu.h | 6 ++++++ |
| numpy/core/include/numpy/npy_endian.h | 6 ++++-- |
| 2 files changed, 10 insertions(+), 2 deletions(-) |
| |
| diff --git a/numpy/core/include/numpy/npy_cpu.h b/numpy/core/include/numpy/npy_cpu.h |
| index 60abae4e0b0e..84653ea183ce 100644 |
| --- a/numpy/core/include/numpy/npy_cpu.h |
| +++ b/numpy/core/include/numpy/npy_cpu.h |
| @@ -15,6 +15,8 @@ |
| * NPY_CPU_ARMEB |
| * NPY_CPU_SH_LE |
| * NPY_CPU_SH_BE |
| + * NPY_CPU_ARCEL |
| + * NPY_CPU_ARCEB |
| */ |
| #ifndef _NPY_CPUARCH_H_ |
| #define _NPY_CPUARCH_H_ |
| @@ -76,6 +78,10 @@ |
| #define NPY_CPU_AARCH64 |
| #elif defined(__mc68000__) |
| #define NPY_CPU_M68K |
| +#elif defined(__arc__) && defined(__LITTLE_ENDIAN__) |
| + #define NPY_CPU_ARCEL |
| +#elif defined(__arc__) && defined(__BIG_ENDIAN__) |
| + #define NPY_CPU_ARCEB |
| #else |
| #error Unknown CPU, please report this to numpy maintainers with \ |
| information about your platform (OS, CPU and compiler) |
| diff --git a/numpy/core/include/numpy/npy_endian.h b/numpy/core/include/numpy/npy_endian.h |
| index e34b1d97e655..1a42121db92e 100644 |
| --- a/numpy/core/include/numpy/npy_endian.h |
| +++ b/numpy/core/include/numpy/npy_endian.h |
| @@ -45,7 +45,8 @@ |
| || defined(NPY_CPU_AARCH64) \ |
| || defined(NPY_CPU_SH_LE) \ |
| || defined(NPY_CPU_MIPSEL) \ |
| - || defined(NPY_CPU_PPC64LE) |
| + || defined(NPY_CPU_PPC64LE) \ |
| + || defined(NPY_CPU_ARCEL) |
| #define NPY_BYTE_ORDER NPY_LITTLE_ENDIAN |
| #elif defined(NPY_CPU_PPC) \ |
| || defined(NPY_CPU_SPARC) \ |
| @@ -56,7 +57,8 @@ |
| || defined(NPY_CPU_SH_BE) \ |
| || defined(NPY_CPU_MIPSEB) \ |
| || defined(NPY_CPU_OR1K) \ |
| - || defined(NPY_CPU_M68K) |
| + || defined(NPY_CPU_M68K) \ |
| + || defined(NPY_CPU_ARCEB) |
| #define NPY_BYTE_ORDER NPY_BIG_ENDIAN |
| #else |
| #error Unknown CPU: can not set endianness |
| -- |
| 2.7.5 |
| |