configure: add loongson2 cpu support

Signed-off-by: ZhouXiaoyong <zhouxiaoyong@loongson.cn>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
周晓勇 2015-07-03 18:12:07 +08:00 committed by Michael Niedermayer
parent 387cbe018c
commit d44cf5ef42
1 changed files with 17 additions and 4 deletions

21
configure vendored
View File

@ -1591,6 +1591,8 @@ ARCH_EXT_LIST_MIPS="
"
ARCH_EXT_LIST_LOONGSON="
loongson2
loongson3
mmi
"
@ -3964,7 +3966,7 @@ elif enabled mips; then
check_cflags "-mtune=i6400 -mabi=64"
check_ldflags "-mabi=64"
;;
loongson3*)
loongson*)
disable mipsfpu
disable mips32r2
disable mips32r5
@ -3979,7 +3981,17 @@ elif enabled mips; then
enable fast_cmov
enable fast_unaligned
disable aligned_stack
cpuflags="-march=loongson3a -mhard-float"
case $cpu in
loongson3*)
cpuflags="-march=loongson3a -mhard-float"
;;
loongson2e)
cpuflags="-march=loongson2e -mhard-float"
;;
loongson2f)
cpuflags="-march=loongson2f -mhard-float"
;;
esac
;;
generic)
disable mips32r5
@ -4737,13 +4749,15 @@ EOF
elif enabled mips; then
enabled loongson2 && check_inline_asm loongson2 '"dmult.g $8, $9, $10"'
enabled loongson3 && check_inline_asm loongson3 '"gsldxc1 $f0, 0($2, $3)"'
enabled mmi && check_inline_asm mmi '"punpcklhw $f0, $f0, $f0"'
# Enable minimum ISA based on selected options
if enabled mips64 && (enabled mipsdspr1 || enabled mipsdspr2); then
add_cflags "-mips64r2"
add_asflags "-mips64r2"
elif enabled mips64 && enabled mipsfpu && disabled loongson3; then
elif enabled mips64 && enabled mipsfpu && disabled loongson2 && disabled loongson3; then
add_cflags "-mips64"
add_asflags "-mips64"
elif enabled mipsdspr1 || enabled mipsdspr2; then
@ -4768,7 +4782,6 @@ elif enabled mips; then
check_inline_asm mipsfpu '"madd.d $f0, $f2, $f4, $f6"'
enabled msa && check_cflags "-mmsa" && check_ldflags "-mmsa" &&
check_inline_asm msa '"addvi.b $w0, $w1, 1"'
enabled loongson3 && check_inline_asm loongson3 '"gsldxc1 $f0, 0($2, $3)"'
enabled mips32r5 && add_asflags "-mips32r5 -mfp64"
enabled mips64r6 && add_asflags "-mips64r6 -mfp64"