arm: add softfp support in kernel/arm/swap_vfp.S
This commit is contained in:
parent
e25f4c01d6
commit
83bd547517
|
@ -57,6 +57,11 @@ DNRM2KERNEL = nrm2_vfp.S
|
||||||
CNRM2KERNEL = nrm2_vfp.S
|
CNRM2KERNEL = nrm2_vfp.S
|
||||||
ZNRM2KERNEL = nrm2_vfp.S
|
ZNRM2KERNEL = nrm2_vfp.S
|
||||||
|
|
||||||
|
SSWAPKERNEL = swap_vfp.S
|
||||||
|
DSWAPKERNEL = swap_vfp.S
|
||||||
|
CSWAPKERNEL = swap_vfp.S
|
||||||
|
ZSWAPKERNEL = swap_vfp.S
|
||||||
|
|
||||||
SGEMMKERNEL = ../generic/gemmkernel_4x2.c
|
SGEMMKERNEL = ../generic/gemmkernel_4x2.c
|
||||||
ifneq ($(SGEMM_UNROLL_M), $(SGEMM_UNROLL_N))
|
ifneq ($(SGEMM_UNROLL_M), $(SGEMM_UNROLL_N))
|
||||||
SGEMMINCOPY = sgemm_ncopy_4_vfp.S
|
SGEMMINCOPY = sgemm_ncopy_4_vfp.S
|
||||||
|
@ -96,11 +101,6 @@ ZGEMMOTCOPYOBJ = zgemm_otcopy.o
|
||||||
|
|
||||||
ifeq ($(ARM_ABI),hard)
|
ifeq ($(ARM_ABI),hard)
|
||||||
|
|
||||||
SSWAPKERNEL = swap_vfp.S
|
|
||||||
DSWAPKERNEL = swap_vfp.S
|
|
||||||
CSWAPKERNEL = swap_vfp.S
|
|
||||||
ZSWAPKERNEL = swap_vfp.S
|
|
||||||
|
|
||||||
SGEMVNKERNEL = gemv_n_vfp.S
|
SGEMVNKERNEL = gemv_n_vfp.S
|
||||||
DGEMVNKERNEL = gemv_n_vfp.S
|
DGEMVNKERNEL = gemv_n_vfp.S
|
||||||
CGEMVNKERNEL = cgemv_n_vfp.S
|
CGEMVNKERNEL = cgemv_n_vfp.S
|
||||||
|
|
|
@ -38,9 +38,43 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
#define STACKSIZE 256
|
#define STACKSIZE 256
|
||||||
|
|
||||||
|
#if !defined(__ARM_PCS_VFP)
|
||||||
|
|
||||||
|
#if !defined(COMPLEX)
|
||||||
|
|
||||||
|
#if !defined(DOUBLE)
|
||||||
|
#define OLD_X [fp, #0 ]
|
||||||
|
#define OLD_INC_X [fp, #4 ]
|
||||||
|
#define OLD_Y [fp, #8 ]
|
||||||
|
#define OLD_INC_Y [fp, #12 ]
|
||||||
|
#else
|
||||||
|
#define OLD_X [fp, #8 ]
|
||||||
|
#define OLD_INC_X [fp, #12]
|
||||||
|
#define OLD_Y [fp, #16]
|
||||||
|
#define OLD_INC_Y [fp, #20]
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#else //COMPLEX
|
||||||
|
|
||||||
|
#if !defined(DOUBLE)
|
||||||
|
#define OLD_X [fp, #4 ]
|
||||||
|
#define OLD_INC_X [fp, #8 ]
|
||||||
|
#define OLD_Y [fp, #12 ]
|
||||||
|
#define OLD_INC_Y [fp, #16 ]
|
||||||
|
#else
|
||||||
|
#define OLD_X [fp, #16]
|
||||||
|
#define OLD_INC_X [fp, #20]
|
||||||
|
#define OLD_Y [fp, #24]
|
||||||
|
#define OLD_INC_Y [fp, #28]
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // !defined(__ARM_PCS_VFP)
|
||||||
|
|
||||||
|
#else
|
||||||
#define OLD_INC_X [fp, #0 ]
|
#define OLD_INC_X [fp, #0 ]
|
||||||
#define OLD_Y [fp, #4 ]
|
#define OLD_Y [fp, #4 ]
|
||||||
#define OLD_INC_Y [fp, #8 ]
|
#define OLD_INC_Y [fp, #8 ]
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define N r0
|
#define N r0
|
||||||
|
@ -229,6 +263,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
push {r4 , fp}
|
push {r4 , fp}
|
||||||
add fp, sp, #8
|
add fp, sp, #8
|
||||||
|
|
||||||
|
#if !defined(__ARM_PCS_VFP)
|
||||||
|
ldr X, OLD_X
|
||||||
|
#endif
|
||||||
ldr INC_X , OLD_INC_X
|
ldr INC_X , OLD_INC_X
|
||||||
ldr Y, OLD_Y
|
ldr Y, OLD_Y
|
||||||
ldr INC_Y , OLD_INC_Y
|
ldr INC_Y , OLD_INC_Y
|
||||||
|
|
Loading…
Reference in New Issue