loongson mmi configuration patch.
authorYinShiyou <yinshiyou-hf@loongson.cn>
Fri, 23 Jun 2017 08:26:30 +0000 (16:26 +0800)
committerJohann Koenig <johannkoenig@google.com>
Mon, 31 Jul 2017 17:29:36 +0000 (17:29 +0000)
enable loongson mmi optimization: ../configure --enable-mmi

Change-Id: I7792c3adeac1d5b573917d7857bba6c1cc05fea5

build/make/configure.sh
build/make/rtcd.pl
configure

index fbe8b1b..36063a5 100644 (file)
@@ -702,6 +702,12 @@ process_common_toolchain() {
       power*)
         tgt_isa=ppc
         ;;
+      *mips64el*)
+        tgt_isa=mips64
+        ;;
+      *mips32el*)
+        tgt_isa=mips32
+        ;;
     esac
 
     # detect tgt_os
@@ -1163,6 +1169,11 @@ EOF
         fi
       fi
 
+      if enabled mmi; then
+        tgt_isa=loongson3a
+        check_add_ldflags -march=loongson3a
+      fi
+
       check_add_cflags -march=${tgt_isa}
       check_add_asflags -march=${tgt_isa}
       check_add_asflags -KPIC
@@ -1440,6 +1451,10 @@ EOF
           echo "msa optimizations are available only for little endian platforms"
           disable_feature msa
         fi
+        if enabled mmi; then
+          echo "mmi optimizations are available only for little endian platforms"
+          disable_feature mmi
+        fi
       fi
       ;;
   esac
index ce88e64..9f44cb4 100755 (executable)
@@ -411,6 +411,10 @@ if ($opts{arch} eq 'x86') {
       @ALL_ARCHS = filter("$opts{arch}", qw/msa/);
       last;
     }
+    if (/HAVE_MMI=yes/) {
+      @ALL_ARCHS = filter("$opts{arch}", qw/mmi/);
+      last;
+    }
   }
   close CONFIG_FILE;
   mips;
index 5c54476..e0dff05 100755 (executable)
--- a/configure
+++ b/configure
@@ -242,6 +242,11 @@ ARCH_EXT_LIST_X86="
     avx
     avx2
 "
+
+ARCH_EXT_LIST_LOONGSON="
+    mmi
+"
+
 ARCH_EXT_LIST="
     neon
     neon_asm
@@ -254,6 +259,8 @@ ARCH_EXT_LIST="
     ${ARCH_EXT_LIST_X86}
 
     vsx
+
+    ${ARCH_EXT_LIST_LOONGSON}
 "
 HAVE_LIST="
     ${ARCH_EXT_LIST}