x86: better share ff_pw_2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Christophe Gisquet 2014-08-06 07:43:40 +00:00 committed by Michael Niedermayer
parent 4e128ab0b1
commit 71db2d08b1
4 changed files with 4 additions and 6 deletions

View File

@ -22,8 +22,6 @@
#include "libavutil/x86/asm.h" // for xmm_reg #include "libavutil/x86/asm.h" // for xmm_reg
#include "constants.h" #include "constants.h"
DECLARE_ALIGNED(8, const uint64_t, ff_wtwo) = 0x0002000200020002ULL;
DECLARE_ALIGNED(16, const xmm_reg, ff_pw_1) = { 0x0001000100010001ULL, 0x0001000100010001ULL }; DECLARE_ALIGNED(16, const xmm_reg, ff_pw_1) = { 0x0001000100010001ULL, 0x0001000100010001ULL };
DECLARE_ALIGNED(16, const xmm_reg, ff_pw_2) = { 0x0002000200020002ULL, 0x0002000200020002ULL }; DECLARE_ALIGNED(16, const xmm_reg, ff_pw_2) = { 0x0002000200020002ULL, 0x0002000200020002ULL };
DECLARE_ALIGNED(16, const xmm_reg, ff_pw_3) = { 0x0003000300030003ULL, 0x0003000300030003ULL }; DECLARE_ALIGNED(16, const xmm_reg, ff_pw_3) = { 0x0003000300030003ULL, 0x0003000300030003ULL };

View File

@ -25,8 +25,7 @@
#include "libavutil/x86/asm.h" #include "libavutil/x86/asm.h"
extern const uint64_t ff_wtwo; extern const xmm_reg ff_pw_2;
extern const xmm_reg ff_pw_3; extern const xmm_reg ff_pw_3;
extern const xmm_reg ff_pw_4; extern const xmm_reg ff_pw_4;
extern const xmm_reg ff_pw_5; extern const xmm_reg ff_pw_5;

View File

@ -23,11 +23,12 @@
SECTION_RODATA SECTION_RODATA
pw_1: times 8 dw 1 pw_1: times 8 dw 1
pw_2: times 8 dw 2
pw_8: times 8 dw 8 pw_8: times 8 dw 8
pw_16: times 8 dw 16 pw_16: times 8 dw 16
pw_1991: times 4 dw 9,-1 pw_1991: times 4 dw 9,-1
cextern pw_2
section .text section .text
; %1 -= (%2 + %3 + 2)>>2 %4 is pw_2 ; %1 -= (%2 + %3 + 2)>>2 %4 is pw_2

View File

@ -37,7 +37,7 @@
"paddb %%"#regd", %%"#regd" \n\t" ::) "paddb %%"#regd", %%"#regd" \n\t" ::)
#ifndef PIC #ifndef PIC
#define MOVQ_WTWO(regd) __asm__ volatile ("movq %0, %%"#regd" \n\t" :: "m"(ff_wtwo)) #define MOVQ_WTWO(regd) __asm__ volatile ("movq %0, %%"#regd" \n\t" :: "m"(ff_pw_2))
#else #else
// for shared library it's better to use this way for accessing constants // for shared library it's better to use this way for accessing constants
// pcmpeqd -> -1 // pcmpeqd -> -1