Re: [FFmpeg-devel] [PATCH 1/2] configure: build fix for mips cpu p5600

2016-03-03 Thread Michael Niedermayer
On Thu, Mar 03, 2016 at 07:26:56PM +0530, shivraj.pa...@imgtec.com wrote:
> From: Shivraj Patil 
> 
> Signed-off-by: Shivraj Patil 
> ---
>  configure |  217 
> -
>  1 file changed, 101 insertions(+), 116 deletions(-)

[...]

> +if [ "$cpu" == "generic" ]; then

../configure: 4188: [: generic: unexpected operator


> +# the unwanted features.
> +echo 'generic CPU selected'
> +else
> +disable mipsfpu
> +disable mips32r2
> +disable mips32r5
> +disable mips64r2
> +disable mips32r6
> +disable mips64r6
> +disable mipsdsp
> +disable mipsdspr2
> +disable msa
> +disable loongson2
> +disable loongson3
> +disable mmi
> +
> +case $cpu in
> +24kc)
> +enable mips32r2
> +;;
> +24kf*)
> +enable mips32r2
> +enable mipsfpu
> +;;
> +24kec|34kc|1004kc)
> +enable mips32r2
> +enable mipsdsp
> +;;
> +24kef*|34kf*|1004kf*)
> +enable mips32r2
> +enable mipsfpu
> +enable mipsdsp
> +;;
> +74kc)
> +enable mips32r2
> +enable mipsdsp
> +enable mipsdspr2
> +;;
> +74kf)
> +enable mips32r2
> +enable mipsfpu
> +enable mipsdsp
> +enable mipsdspr2

breaks --cpu=74kf --disable-mipsfpu

also is this (from configure) correct?

mipsfpu_deps="mips"
mipsdsp_deps="mips"
mipsdspr2_deps="mips"
mips32r2_deps="mips"
mips32r6_deps="mips"
mips64r2_deps="mips"
mips64r6_deps="mips"
msa_deps="mips"
mmi_deps="mips"

there is no dependancy betwen features ?
so a cpu can have mips32r6 without mips32r2 ?
if that is not possible then the dependancies should be corrected

if mips32r6 would depend on mips32r2 then only disabling the later
would be sufficient

That assumes no code uses mips32r6 and has sideefects before the
dependancy solver is run (thats quite plausibly not true atm)

also the feature checks look hackish
for example:
if enabled msa; then
check_ldflags "-mfp64 -mmsa" &&
add_cflags "-mfp64 -mmsa" &&
add_asflags "-mfp64 -mmsa" &&
check_inline_asm msa '"addvi.b $w0, $w1, 1"' &&
check_header msa.h ||
disable msa
fi
else

this adds all kinds of flags and _AFTER_ that tests the instruction
if it isnt supported msa is disabled but all the flags are left in
there

the outcome should either be msa on and needed flags in OR
msa off and no flags added IIUC
the same issue exists with other mips features too 

if check_inline_asm doesnt work for mips then maybe a
check_inline_asm_flags or something could be added that tests
asm with flags and does the whole on / off atomically without
poluting the various flags in the failure case
quite possibly there are other solutions/options ...

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

If you think the mosad wants you dead since a long time then you are either
wrong or dead since a long time.


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH 1/2] configure: build fix for mips cpu p5600

2016-03-03 Thread shivraj.patil
From: Shivraj Patil 

Signed-off-by: Shivraj Patil 
---
 configure |  217 -
 1 file changed, 101 insertions(+), 116 deletions(-)

diff --git a/configure b/configure
index 81769ee..45d527a 100755
--- a/configure
+++ b/configure
@@ -1662,6 +1662,7 @@ ARCH_EXT_LIST_ARM="
 ARCH_EXT_LIST_MIPS="
 mipsfpu
 mips32r2
+mips32r5
 mips64r2
 mips32r6
 mips64r6
@@ -2160,6 +2161,7 @@ mipsfpu_deps="mips"
 mipsdsp_deps="mips"
 mipsdspr2_deps="mips"
 mips32r2_deps="mips"
+mips32r5_deps="mips"
 mips32r6_deps="mips"
 mips64r2_deps="mips"
 mips64r6_deps="mips"
@@ -4183,119 +4185,95 @@ elif enabled mips; then
 
 cpuflags="-march=$cpu"
 
-case $cpu in
-24kc)
-disable mips32r6
-disable mips64r2
-disable mips64r6
-disable mipsfpu
-disable mipsdsp
-disable mipsdspr2
-disable msa
-;;
-24kf*)
-disable mips32r6
-disable mips64r2
-disable mips64r6
-disable mipsdsp
-disable mipsdspr2
-disable msa
-;;
-24kec|34kc|1004kc)
-disable mips32r6
-disable mips64r2
-disable mips64r6
-disable mipsfpu
-disable mipsdspr2
-disable msa
-;;
-24kef*|34kf*|1004kf*)
-disable mips32r6
-disable mips64r2
-disable mips64r6
-disable mipsdspr2
-disable msa
-;;
-74kc)
-disable mips32r6
-disable mips64r2
-disable mips64r6
-disable mipsfpu
-disable msa
-;;
-74kf)
-disable mips32r6
-disable mips64r2
-disable mips64r6
-disable msa
-;;
-p5600)
-disable mips32r6
-disable mips64r2
-disable mips64r6
-disable mipsdsp
-disable mipsdspr2
-check_cflags "-mtune=p5600" &&
-check_cflags "-mfp64 -msched-weight -mload-store-pairs 
-funroll-loops" &&
-add_asflags "-mfp64"
-;;
-i6400)
-disable mips32r2
-disable mips32r6
-disable mips64r2
-disable mipsdsp
-disable mipsdspr2
-check_cflags "-mtune=i6400 -mabi=64" &&
-check_cflags "-mfp64 -msched-weight -mload-store-pairs 
-funroll-loops" &&
-check_ldflags "-mabi=64" &&
-add_asflags "-mfp64"
-;;
-loongson*)
-disable mips32r2
-disable mips32r6
-disable mips64r2
-disable mips64r6
-disable mipsfpu
-disable mipsdsp
-disable mipsdspr2
-disable msa
-enable local_aligned_8 local_aligned_16 local_aligned_32
-enable simd_align_16
-enable fast_64bit
-enable fast_clz
-enable fast_cmov
-enable fast_unaligned
-disable aligned_stack
-case $cpu in
-loongson3*)
-cpuflags="-march=loongson3a -mhard-float 
-fno-expensive-optimizations"
-;;
-loongson2e)
-cpuflags="-march=loongson2e -mhard-float 
-fno-expensive-optimizations"
-;;
-loongson2f)
-cpuflags="-march=loongson2f -mhard-float 
-fno-expensive-optimizations"
-;;
-esac
-;;
-generic)
-# We do not disable anything. Is up to the user to disable
-# the unwanted features.
-;;
-*)
-# Unknown CPU. Disable everything.
-warn "unknown CPU. Disabling all MIPS optimizations."
-disable mipsfpu
-disable mips32r2
-disable mips32r6
-disable mips64r2
-disable mips64r6
-disable mipsdsp
-disable mipsdspr2
-disable msa
-;;
-esac
-
+if [ "$cpu" == "generic" ]; then
+# We do not disable anything. Is up to the user to disable
+# the unwanted features.
+echo 'generic CPU selected'
+else
+disable mipsfpu
+disable mips32r2
+disable mips32r5
+disable mips64r2
+disable mips32r6
+disable mips64r6
+disable mipsdsp
+disable mipsdspr2
+disable msa
+disable loongson2
+disable loongson3
+disable mmi
+
+case $cpu in
+24kc)
+enable mips32r2
+;;
+24kf*)
+enable mips32r2
+enable mipsfpu
+;;
+24kec|34kc|1004kc)
+enable mips32r2
+enable mipsdsp
+;;
+