From d5f8a642f6eb1c6e305c41dabddd0fd36ffb3f77 Mon Sep 17 00:00:00 2001 From: James Almer Date: Fri, 11 Sep 2015 22:02:42 -0300 Subject: [PATCH] x86: port PSIGNW to cpuflags Reviewed-by: Ronald S. Bultje Signed-off-by: James Almer --- libavcodec/x86/vp9itxfm.asm | 6 ------ libavutil/x86/x86util.asm | 10 +++++----- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/libavcodec/x86/vp9itxfm.asm b/libavcodec/x86/vp9itxfm.asm index 03a43d199c..4d6a73cde9 100644 --- a/libavcodec/x86/vp9itxfm.asm +++ b/libavcodec/x86/vp9itxfm.asm @@ -973,18 +973,15 @@ cglobal vp9_%1_%3_8x8_add, 3, 3, %6, dst, stride, block, eob %endmacro -%define PSIGNW PSIGNW_MMX IADST8_FN idct, IDCT8, iadst, IADST8, sse2, 15 IADST8_FN iadst, IADST8, idct, IDCT8, sse2, 15 IADST8_FN iadst, IADST8, iadst, IADST8, sse2, 15 -%define PSIGNW PSIGNW_SSSE3 IADST8_FN idct, IDCT8, iadst, IADST8, ssse3, 16 IADST8_FN idct, IDCT8, iadst, IADST8, avx, 16 IADST8_FN iadst, IADST8, idct, IDCT8, ssse3, 16 IADST8_FN iadst, IADST8, idct, IDCT8, avx, 16 IADST8_FN iadst, IADST8, iadst, IADST8, ssse3, 16 IADST8_FN iadst, IADST8, iadst, IADST8, avx, 16 -%undef PSIGNW ;--------------------------------------------------------------------------------------------- ; void vp9_idct_idct_16x16_add_(uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob); @@ -1889,18 +1886,15 @@ cglobal vp9_%1_%3_16x16_add, 3, 6, 16, 512, dst, stride, block, cnt, dst_bak, tm RET %endmacro -%define PSIGNW PSIGNW_MMX IADST16_FN idct, IDCT16, iadst, IADST16, sse2 IADST16_FN iadst, IADST16, idct, IDCT16, sse2 IADST16_FN iadst, IADST16, iadst, IADST16, sse2 -%define PSIGNW PSIGNW_SSSE3 IADST16_FN idct, IDCT16, iadst, IADST16, ssse3 IADST16_FN iadst, IADST16, idct, IDCT16, ssse3 IADST16_FN iadst, IADST16, iadst, IADST16, ssse3 IADST16_FN idct, IDCT16, iadst, IADST16, avx IADST16_FN iadst, IADST16, idct, IDCT16, avx IADST16_FN iadst, IADST16, iadst, IADST16, avx -%undef PSIGNW ;--------------------------------------------------------------------------------------------- ; void vp9_idct_idct_32x32_add_(uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob); diff --git a/libavutil/x86/x86util.asm b/libavutil/x86/x86util.asm index bf64d179b9..b09fa813e2 100644 --- a/libavutil/x86/x86util.asm +++ b/libavutil/x86/x86util.asm @@ -210,13 +210,13 @@ %endif %endmacro -%macro PSIGNW_MMX 2 +%macro PSIGNW 2 +%if cpuflag(ssse3) + psignw %1, %2 +%else pxor %1, %2 psubw %1, %2 -%endmacro - -%macro PSIGNW_SSSE3 2 - psignw %1, %2 +%endif %endmacro %macro ABS1 2