From 37efb5bc1d9b78e5e612b5aad896981d58a5d18f Mon Sep 17 00:00:00 2001 From: Ashwin Sekhar T K Date: Sun, 2 Jul 2017 03:06:36 +0530 Subject: [PATCH] arm: Remove unnecessary files/code Since softfp code has been added to all required vfp kernels, the code for auto detection of abi is no longer required. The option to force softfp ABI on make command line by giving ARM_SOFTFP_ABI=1 is retained. But there is no need to give this option anymore. Also the newly added C versions of 4x4/4x2 gemm/trmm kernels are removed. These are longer required. Moreover these kernels has bugs. --- Makefile.system | 19 +- c_check | 16 +- kernel/generic/gemmkernel_4x2.c | 317 ------------------ kernel/generic/gemmkernel_4x4.c | 571 -------------------------------- kernel/generic/trmmkernel_4x2.c | 528 ----------------------------- 5 files changed, 8 insertions(+), 1443 deletions(-) delete mode 100644 kernel/generic/gemmkernel_4x2.c delete mode 100644 kernel/generic/gemmkernel_4x4.c delete mode 100644 kernel/generic/trmmkernel_4x2.c diff --git a/Makefile.system b/Makefile.system index 2cae5f1c9..4face0e51 100644 --- a/Makefile.system +++ b/Makefile.system @@ -487,19 +487,14 @@ ifeq ($(ARCH), arm) NO_BINARY_MODE = 1 BINARY_DEFINED = 1 -# If ABI is specified on command line use it. Else use the automatically detected ABI. -ifeq ($(ARM_SOFTFP_ABI),1) -ARM_ABI = softfp -else -ifeq ($(ARM_HARD_ABI),1) -ARM_ABI = hard -else -ARM_ABI=$(ARM_ABI_AUTO) +CCOMMON_OPT += -marm +FCOMMON_OPT += -marm + +# If softfp abi is mentioned on the command line, force it. +ifeq ($(ARM_SOFTFP_ABI), 1) +CCOMMON_OPT += -mfloat-abi=softfp +FCOMMON_OPT += -mfloat-abi=softfp endif -endif -export ARM_ABI_AUTO -CCOMMON_OPT += -marm -mfloat-abi=$(ARM_ABI) -FCOMMON_OPT += -marm -mfloat-abi=$(ARM_ABI) endif diff --git a/c_check b/c_check index 2e7e08cfb..20da288be 100644 --- a/c_check +++ b/c_check @@ -94,17 +94,7 @@ if ($architecture eq "mips64") { $defined = 1; } -if ($architecture eq "arm") { - $defined = 1; - $data = `$compiler_name -dM -E ctest2.c | grep -w __ARM_PCS_VFP`; - if ($data ne "") { - $abi = "hard"; - } else { - $abi = "softfp"; - } -} - -if ($architecture eq "arm64") { +if (($architecture eq "arm") || ($architecture eq "arm64")) { $defined = 1; } @@ -297,10 +287,6 @@ print MAKEFILE "CEXTRALIB=$linker_L $linker_l $linker_a\n"; print MAKEFILE "HAVE_MSA=1\n" if $have_msa eq 1; print MAKEFILE "MSA_FLAGS=$msa_flags\n" if $have_msa eq 1; -if ($architecture eq "arm") { - print MAKEFILE "ARM_ABI_AUTO=$abi\n"; -} - $os =~ tr/[a-z]/[A-Z]/; $architecture =~ tr/[a-z]/[A-Z]/; $compiler =~ tr/[a-z]/[A-Z]/; diff --git a/kernel/generic/gemmkernel_4x2.c b/kernel/generic/gemmkernel_4x2.c deleted file mode 100644 index 8c784e2f1..000000000 --- a/kernel/generic/gemmkernel_4x2.c +++ /dev/null @@ -1,317 +0,0 @@ -/*************************************************************************** -Copyright (c) 2017, The OpenBLAS Project -All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: -1. Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in -the documentation and/or other materials provided with the -distribution. -3. Neither the name of the OpenBLAS project nor the names of -its contributors may be used to endorse or promote products -derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE OPENBLAS PROJECT OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE -USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*****************************************************************************/ - -#include "common.h" -#include - -int CNAME(BLASLONG bm,BLASLONG bn,BLASLONG bk,FLOAT alpha,FLOAT* ba,FLOAT* bb,FLOAT* C,BLASLONG ldc) -{ - - BLASLONG i,j,k; - FLOAT *C0,*C1,*ptrba,*ptrbb; - - FLOAT res0_0; - FLOAT res0_1; - FLOAT res0_2; - FLOAT res0_3; - - FLOAT res1_0; - FLOAT res1_1; - FLOAT res1_2; - FLOAT res1_3; - - FLOAT a0; - FLOAT a1; - - FLOAT b0; - FLOAT b1; - - for (j=0; j<(bn/2); j+=2) - { - C0 = C; - C1 = C0+ldc; - - ptrba = ba; - - for (i=0; i - -int CNAME(BLASLONG bm,BLASLONG bn,BLASLONG bk,FLOAT alpha,FLOAT* ba,FLOAT* bb,FLOAT* C,BLASLONG ldc) -{ - - BLASLONG i,j,k; - FLOAT *C0,*C1,*C2,*C3,*ptrba,*ptrbb; - - FLOAT res0_0; - FLOAT res0_1; - FLOAT res0_2; - FLOAT res0_3; - - FLOAT res1_0; - FLOAT res1_1; - FLOAT res1_2; - FLOAT res1_3; - - FLOAT res2_0; - FLOAT res2_1; - FLOAT res2_2; - FLOAT res2_3; - - FLOAT res3_0; - FLOAT res3_1; - FLOAT res3_2; - FLOAT res3_3; - - FLOAT a0; - FLOAT a1; - - FLOAT b0; - FLOAT b1; - FLOAT b2; - FLOAT b3; - - - for (j=0; j - -int CNAME(BLASLONG bm,BLASLONG bn,BLASLONG bk,FLOAT alpha,FLOAT* ba,FLOAT* bb,FLOAT* C,BLASLONG ldc ,BLASLONG offset) -{ - - BLASLONG i,j,k; - FLOAT *C0,*C1,*ptrba,*ptrbb; - - FLOAT res0_0; - FLOAT res0_1; - FLOAT res0_2; - FLOAT res0_3; - - FLOAT res1_0; - FLOAT res1_1; - FLOAT res1_2; - FLOAT res1_3; - - FLOAT a0; - FLOAT a1; - - FLOAT b0; - FLOAT b1; - - BLASLONG off, temp; - - bool left; - bool transposed; - bool backwards; - -#ifdef LEFT - left = true; -#else - left = false; -#endif - -#ifdef TRANSA - transposed = true; -#else - transposed = false; -#endif - - backwards = left != transposed; - - if (!left) { - off = -offset; - } - - for (j=0; j<(bn/2); j+=2) // do the Mx2 loops - { - C0 = C; - C1 = C0+ldc; - -#if defined(TRMMKERNEL) && defined(LEFT) - off = offset; -#endif - - - ptrba = ba; - - for (i=0; i