x86: Add PAVGB macro to abstract pavgb/pavgusb instruction via cpuflags
This commit is contained in:
parent
23098bbd50
commit
dae1d507af
@ -427,11 +427,11 @@ cglobal %1_%2_chroma_mc2, 6, 7, 0
|
||||
%macro NOTHING 2-3
|
||||
%endmacro
|
||||
%macro DIRECT_AVG 2
|
||||
PAVG %1, %2
|
||||
PAVGB %1, %2
|
||||
%endmacro
|
||||
%macro COPY_AVG 3
|
||||
movd %2, %3
|
||||
PAVG %1, %2
|
||||
PAVGB %1, %2
|
||||
%endmacro
|
||||
|
||||
INIT_MMX mmx
|
||||
@ -448,7 +448,6 @@ chroma_mc2_mmx_func put, h264
|
||||
|
||||
%define CHROMAMC_AVG DIRECT_AVG
|
||||
%define CHROMAMC_AVG4 COPY_AVG
|
||||
%define PAVG pavgb
|
||||
chroma_mc8_mmx_func avg, h264, _rnd
|
||||
chroma_mc8_mmx_func avg, vc1, _nornd
|
||||
chroma_mc8_mmx_func avg, rv40
|
||||
@ -456,7 +455,6 @@ chroma_mc4_mmx_func avg, h264
|
||||
chroma_mc4_mmx_func avg, rv40
|
||||
chroma_mc2_mmx_func avg, h264
|
||||
|
||||
%define PAVG pavgusb
|
||||
INIT_MMX 3dnow
|
||||
chroma_mc8_mmx_func avg, h264, _rnd
|
||||
chroma_mc8_mmx_func avg, vc1, _nornd
|
||||
@ -673,7 +671,6 @@ INIT_MMX ssse3
|
||||
chroma_mc4_ssse3_func put, h264
|
||||
|
||||
%define CHROMAMC_AVG DIRECT_AVG
|
||||
%define PAVG pavgb
|
||||
INIT_XMM ssse3
|
||||
chroma_mc8_ssse3_func avg, h264, _rnd
|
||||
chroma_mc8_ssse3_func avg, vc1, _nornd
|
||||
|
@ -301,6 +301,14 @@
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
%macro PAVGB 2
|
||||
%if cpuflag(mmxext)
|
||||
pavgb %1, %2
|
||||
%elif cpuflag(3dnow)
|
||||
pavgusb %1, %2
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
%macro PSHUFLW 1+
|
||||
%if mmsize == 8
|
||||
pshufw %1
|
||||
|
Loading…
x
Reference in New Issue
Block a user