python-numpy: Add support of ARC architecture
This enables support for ARC cores in numpy.
Cherry-picked from
8edd610ffa
Hopefully becomes a part of the next major release (like 1.14).
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
acc3a2c725
commit
19bf0087ec
68
package/python-numpy/0002-Add-support-of-ARC.patch
Normal file
68
package/python-numpy/0002-Add-support-of-ARC.patch
Normal file
@ -0,0 +1,68 @@
|
||||
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
|
||||
|
@ -1,7 +1,7 @@
|
||||
config BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
|
||||
bool
|
||||
# Numpy has some CPU specific code
|
||||
default y if BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 \
|
||||
default y if BR2_arc || BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 \
|
||||
|| BR2_mips || BR2_mipsel || BR2_powerpc || BR2_powerpc64 \
|
||||
|| BR2_sh || BR2_x86_64
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user