x86: hevc_mc: better register allocation
authorChristophe Gisquet <christophe.gisquet@gmail.com>
Sat, 17 May 2014 10:22:39 +0000 (12:22 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 28 May 2014 15:39:34 +0000 (17:39 +0200)
commit0810608e23456eeff75b691c7c444762352ec196
tree051bc242267b35fe353f96238c34d44c9fcbb884
parentec33f59fed82e0a92912639c79ac1b3ac0f23c4a
x86: hevc_mc: better register allocation

The xmm reg count was incorrect, and manual loading of the gprs
furthermore allows to noticeable reduce the number needed.

The modified functions are used in weighted prediction, so only a
few samples like WP_* exhibit a change. For this one and Win64
(some widths removed because of too few occurrences):

WP_A_Toshiba_3.bit, ff_hevc_put_hevc_uni_w
         16    32
before: 2194  3872
after:  2119  3767

WP_B_Toshiba_3.bit, ff_hevc_put_hevc_bi_w
         16    32    64
before: 2819  4960  9396
after:  2617  4788  9150

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/x86/hevc_mc.asm