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:
parent
387cbe018c
commit
d44cf5ef42
21
configure
vendored
21
configure
vendored
@ -1591,6 +1591,8 @@ ARCH_EXT_LIST_MIPS="
|
|||||||
"
|
"
|
||||||
|
|
||||||
ARCH_EXT_LIST_LOONGSON="
|
ARCH_EXT_LIST_LOONGSON="
|
||||||
|
loongson2
|
||||||
|
loongson3
|
||||||
mmi
|
mmi
|
||||||
"
|
"
|
||||||
|
|
||||||
@ -3964,7 +3966,7 @@ elif enabled mips; then
|
|||||||
check_cflags "-mtune=i6400 -mabi=64"
|
check_cflags "-mtune=i6400 -mabi=64"
|
||||||
check_ldflags "-mabi=64"
|
check_ldflags "-mabi=64"
|
||||||
;;
|
;;
|
||||||
loongson3*)
|
loongson*)
|
||||||
disable mipsfpu
|
disable mipsfpu
|
||||||
disable mips32r2
|
disable mips32r2
|
||||||
disable mips32r5
|
disable mips32r5
|
||||||
@ -3979,7 +3981,17 @@ elif enabled mips; then
|
|||||||
enable fast_cmov
|
enable fast_cmov
|
||||||
enable fast_unaligned
|
enable fast_unaligned
|
||||||
disable aligned_stack
|
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)
|
generic)
|
||||||
disable mips32r5
|
disable mips32r5
|
||||||
@ -4737,13 +4749,15 @@ EOF
|
|||||||
|
|
||||||
elif enabled mips; then
|
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"'
|
enabled mmi && check_inline_asm mmi '"punpcklhw $f0, $f0, $f0"'
|
||||||
|
|
||||||
# Enable minimum ISA based on selected options
|
# Enable minimum ISA based on selected options
|
||||||
if enabled mips64 && (enabled mipsdspr1 || enabled mipsdspr2); then
|
if enabled mips64 && (enabled mipsdspr1 || enabled mipsdspr2); then
|
||||||
add_cflags "-mips64r2"
|
add_cflags "-mips64r2"
|
||||||
add_asflags "-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_cflags "-mips64"
|
||||||
add_asflags "-mips64"
|
add_asflags "-mips64"
|
||||||
elif enabled mipsdspr1 || enabled mipsdspr2; then
|
elif enabled mipsdspr1 || enabled mipsdspr2; then
|
||||||
@ -4768,7 +4782,6 @@ elif enabled mips; then
|
|||||||
check_inline_asm mipsfpu '"madd.d $f0, $f2, $f4, $f6"'
|
check_inline_asm mipsfpu '"madd.d $f0, $f2, $f4, $f6"'
|
||||||
enabled msa && check_cflags "-mmsa" && check_ldflags "-mmsa" &&
|
enabled msa && check_cflags "-mmsa" && check_ldflags "-mmsa" &&
|
||||||
check_inline_asm msa '"addvi.b $w0, $w1, 1"'
|
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 mips32r5 && add_asflags "-mips32r5 -mfp64"
|
||||||
enabled mips64r6 && add_asflags "-mips64r6 -mfp64"
|
enabled mips64r6 && add_asflags "-mips64r6 -mfp64"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user