When there are 2 functions that are <= SSE2, only one is needed for x86_64. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>tags/n2.3
| @@ -110,8 +110,10 @@ cglobal add_hfyu_median_pred, 6,6,8, dst, top, diff, w, left, left_top | |||||
| RET | RET | ||||
| %endmacro | %endmacro | ||||
| %if ARCH_X86_32 | |||||
| INIT_MMX mmxext | INIT_MMX mmxext | ||||
| HFYU_MEDIAN | HFYU_MEDIAN | ||||
| %endif | |||||
| INIT_XMM sse2 | INIT_XMM sse2 | ||||
| HFYU_MEDIAN | HFYU_MEDIAN | ||||
| @@ -219,8 +221,10 @@ cglobal add_bytes, 3,4,2, dst, src, w, size | |||||
| REP_RET | REP_RET | ||||
| %endmacro | %endmacro | ||||
| %if ARCH_X86_32 | |||||
| INIT_MMX mmx | INIT_MMX mmx | ||||
| ADD_BYTES | ADD_BYTES | ||||
| %endif | |||||
| INIT_XMM sse2 | INIT_XMM sse2 | ||||
| ADD_BYTES | ADD_BYTES | ||||
| @@ -257,7 +261,9 @@ cglobal add_hfyu_left_pred_bgr32, 4,4,3, dst, src, w, left | |||||
| REP_RET | REP_RET | ||||
| %endmacro | %endmacro | ||||
| %if ARCH_X86_32 | |||||
| INIT_MMX mmx | INIT_MMX mmx | ||||
| LEFT_BGR32 | LEFT_BGR32 | ||||
| %endif | |||||
| INIT_XMM sse2 | INIT_XMM sse2 | ||||
| LEFT_BGR32 | LEFT_BGR32 | ||||
| @@ -51,16 +51,16 @@ av_cold void ff_huffyuvdsp_init_x86(HuffYUVDSPContext *c) | |||||
| int cpu_flags = av_get_cpu_flags(); | int cpu_flags = av_get_cpu_flags(); | ||||
| #if HAVE_7REGS && HAVE_INLINE_ASM | #if HAVE_7REGS && HAVE_INLINE_ASM | ||||
| if (HAVE_MMX && cpu_flags & AV_CPU_FLAG_CMOV) | |||||
| if (ARCH_X86_32 && cpu_flags & AV_CPU_FLAG_CMOV) | |||||
| c->add_hfyu_median_pred = ff_add_hfyu_median_pred_cmov; | c->add_hfyu_median_pred = ff_add_hfyu_median_pred_cmov; | ||||
| #endif | #endif | ||||
| if (EXTERNAL_MMX(cpu_flags)) { | |||||
| if (ARCH_X86_32 && EXTERNAL_MMX(cpu_flags)) { | |||||
| c->add_bytes = ff_add_bytes_mmx; | c->add_bytes = ff_add_bytes_mmx; | ||||
| c->add_hfyu_left_pred_bgr32 = ff_add_hfyu_left_pred_bgr32_mmx; | c->add_hfyu_left_pred_bgr32 = ff_add_hfyu_left_pred_bgr32_mmx; | ||||
| } | } | ||||
| if (EXTERNAL_MMXEXT(cpu_flags)) { | |||||
| if (ARCH_X86_32 && EXTERNAL_MMXEXT(cpu_flags)) { | |||||
| /* slower than cmov version on AMD */ | /* slower than cmov version on AMD */ | ||||
| if (!(cpu_flags & AV_CPU_FLAG_3DNOW)) | if (!(cpu_flags & AV_CPU_FLAG_3DNOW)) | ||||
| c->add_hfyu_median_pred = ff_add_hfyu_median_pred_mmxext; | c->add_hfyu_median_pred = ff_add_hfyu_median_pred_mmxext; | ||||
| @@ -22,7 +22,7 @@ | |||||
| #include "libavutil/x86/asm.h" | #include "libavutil/x86/asm.h" | ||||
| #include "huffyuvdsp.h" | #include "huffyuvdsp.h" | ||||
| #if HAVE_INLINE_ASM && HAVE_7REGS | |||||
| #if HAVE_INLINE_ASM && HAVE_7REGS && ARCH_X86_32 | |||||
| void ff_add_hfyu_median_pred_cmov(uint8_t *dst, const uint8_t *top, | void ff_add_hfyu_median_pred_cmov(uint8_t *dst, const uint8_t *top, | ||||
| const uint8_t *diff, int w, | const uint8_t *diff, int w, | ||||
| int *left, int *left_top) | int *left, int *left_top) | ||||