summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero at gentoo.org>2015-09-25 08:56:25 +0200
committerLuca Barbato <lu_zero@gentoo.org>2015-09-29 11:10:37 +0200
commit1016a75cf3170648dc9b59fdef170cbfc142f8ad (patch)
treeab0dfc9cfd1fa46e646d7a3d6745cc3d802ee091 /configure
parent678f788fea3380e5cbbf75baac5cc0ce07a56a42 (diff)
configure: mips: Support mips r6, r2 and r1
Detect the different MIPS architecture variants. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure25
1 files changed, 24 insertions, 1 deletions
diff --git a/configure b/configure
index 381d24a988..cb48ee199d 100755
--- a/configure
+++ b/configure
@@ -1357,11 +1357,21 @@ ARCH_EXT_LIST_X86="
i686
"
+ARCH_EXT_LIST_MIPS="
+ loongson
+ mips32r1
+ mips64r1
+ mips32r2
+ mips64r2
+ mips32r6
+ mips64r6
+"
+
ARCH_EXT_LIST="
$ARCH_EXT_LIST_ARM
+ $ARCH_EXT_LIST_MIPS
$ARCH_EXT_LIST_PPC
$ARCH_EXT_LIST_X86
- loongson
vis
"
@@ -4059,6 +4069,19 @@ elif enabled mips; then
check_inline_asm loongson '"dmult.g $1, $2, $3"'
+ # make sure that only an instruction set is enabled
+ disable mips64r6 mips32r6 mips64r2 mips32r2 mips64r1 mips32r1
+
+ if enabled mips64; then
+ check_inline_asm mips64r6 '"dlsa $0, $0, $0, 1"' ||
+ check_inline_asm mips64r2 '"dext $0, $0, 0, 1"' ||
+ check_inline_asm mips64r1 '"daddi $0, $0, 0"'
+ else
+ check_inline_asm mips32r6 '"aui $0, $0, 0"' ||
+ check_inline_asm mips32r2 '"ext $0, $0, 0, 1"' ||
+ check_inline_asm mips32r1 '"daddi $0, $0, 0"'
+ fi
+
elif enabled parisc; then
if enabled gcc; then