[FFmpeg-cvslog] x86: h264_intrapred: Don't treat 32-bit integers as 64-bit
Henrik Gramner
git at videolan.org
Wed Oct 8 12:01:02 CEST 2014
ffmpeg | branch: master | Henrik Gramner <henrik at gramner.com> | Wed Oct 1 19:03:29 2014 +0200| [2d91abade29e43bb45c881d45909b8ee77e904e2] | committer: Anton Khirnov
x86: h264_intrapred: Don't treat 32-bit integers as 64-bit
The upper halves are not guaranteed to be zero in x86-64.
Signed-off-by: Anton Khirnov <anton at khirnov.net>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2d91abade29e43bb45c881d45909b8ee77e904e2
---
libavcodec/x86/h264_intrapred.asm | 98 ++++++++++++++++++-------------------
1 file changed, 49 insertions(+), 49 deletions(-)
diff --git a/libavcodec/x86/h264_intrapred.asm b/libavcodec/x86/h264_intrapred.asm
index 4a4fa10..df657a4 100644
--- a/libavcodec/x86/h264_intrapred.asm
+++ b/libavcodec/x86/h264_intrapred.asm
@@ -1027,9 +1027,9 @@ cglobal pred8x8l_top_dc_8, 4,4
movq mm4, mm3
PALIGNR mm2, mm0, 7, mm0
PALIGNR mm1, mm4, 1, mm4
- test r1, r1 ; top_left
+ test r1d, r1d ; top_left
jz .fix_lt_2
- test r2, r2 ; top_right
+ test r2d, r2d ; top_right
jz .fix_tr_1
jmp .body
.fix_lt_2:
@@ -1038,7 +1038,7 @@ cglobal pred8x8l_top_dc_8, 4,4
psllq mm5, 56
psrlq mm5, 56
pxor mm2, mm5
- test r2, r2 ; top_right
+ test r2d, r2d ; top_right
jnz .body
.fix_tr_1:
movq mm5, mm3
@@ -1099,7 +1099,7 @@ cglobal pred8x8l_dc_8, 4,5
movq mm2, mm3
PALIGNR mm4, mm0, 7, mm0
PALIGNR mm1, mm2, 1, mm2
- test r1, r1
+ test r1d, r1d
jnz .do_left
.fix_lt_1:
movq mm5, mm3
@@ -1114,7 +1114,7 @@ cglobal pred8x8l_dc_8, 4,5
psllq mm5, 56
psrlq mm5, 56
pxor mm2, mm5
- test r2, r2
+ test r2d, r2d
jnz .body
.fix_tr_1:
movq mm5, mm3
@@ -1138,9 +1138,9 @@ cglobal pred8x8l_dc_8, 4,5
movq mm4, mm3
PALIGNR mm2, mm0, 7, mm0
PALIGNR mm1, mm4, 1, mm4
- test r1, r1
+ test r1d, r1d
jz .fix_lt_2
- test r2, r2
+ test r2d, r2d
jz .fix_tr_1
.body:
lea r1, [r0+r3*2]
@@ -1182,7 +1182,7 @@ cglobal pred8x8l_horizontal_8, 4,4
sub r0, r3
lea r2, [r0+r3*2]
movq mm0, [r0+r3*1-8]
- test r1, r1
+ test r1d, r1d
lea r1, [r0+r3]
cmovnz r1, r0
punpckhbw mm0, [r1+r3*0-8]
@@ -1259,9 +1259,9 @@ cglobal pred8x8l_vertical_8, 4,4
movq mm4, mm3
PALIGNR mm2, mm0, 7, mm0
PALIGNR mm1, mm4, 1, mm4
- test r1, r1 ; top_left
+ test r1d, r1d ; top_left
jz .fix_lt_2
- test r2, r2 ; top_right
+ test r2d, r2d ; top_right
jz .fix_tr_1
jmp .body
.fix_lt_2:
@@ -1270,7 +1270,7 @@ cglobal pred8x8l_vertical_8, 4,4
psllq mm5, 56
psrlq mm5, 56
pxor mm2, mm5
- test r2, r2 ; top_right
+ test r2d, r2d ; top_right
jnz .body
.fix_tr_1:
movq mm5, mm3
@@ -1310,9 +1310,9 @@ cglobal pred8x8l_down_left_8, 4,5
movq mm4, mm3
PALIGNR mm2, mm0, 7, mm0
PALIGNR mm1, mm4, 1, mm4
- test r1, r1
+ test r1d, r1d
jz .fix_lt_2
- test r2, r2
+ test r2d, r2d
jz .fix_tr_1
jmp .do_top
.fix_lt_2:
@@ -1321,7 +1321,7 @@ cglobal pred8x8l_down_left_8, 4,5
psllq mm5, 56
psrlq mm5, 56
pxor mm2, mm5
- test r2, r2
+ test r2d, r2d
jnz .do_top
.fix_tr_1:
movq mm5, mm3
@@ -1337,7 +1337,7 @@ cglobal pred8x8l_down_left_8, 4,5
.do_top:
PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5
movq mm7, mm4
- test r2, r2
+ test r2d, r2d
jz .fix_tr_2
movq mm0, [r0+8]
movq mm5, mm0
@@ -1418,9 +1418,9 @@ cglobal pred8x8l_down_left_8, 4,4
movq mm4, mm3
PALIGNR mm2, mm0, 7, mm0
PALIGNR mm1, mm4, 1, mm4
- test r1, r1 ; top_left
+ test r1d, r1d ; top_left
jz .fix_lt_2
- test r2, r2 ; top_right
+ test r2d, r2d ; top_right
jz .fix_tr_1
jmp .do_top
.fix_lt_2:
@@ -1429,7 +1429,7 @@ cglobal pred8x8l_down_left_8, 4,4
psllq mm5, 56
psrlq mm5, 56
pxor mm2, mm5
- test r2, r2 ; top_right
+ test r2d, r2d ; top_right
jnz .do_top
.fix_tr_1:
movq mm5, mm3
@@ -1445,7 +1445,7 @@ cglobal pred8x8l_down_left_8, 4,4
.do_top:
PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5
movq2dq xmm3, mm4
- test r2, r2 ; top_right
+ test r2d, r2d ; top_right
jz .fix_tr_2
movq mm0, [r0+8]
movq mm5, mm0
@@ -1527,7 +1527,7 @@ cglobal pred8x8l_down_right_8, 4,5
movq mm2, mm3
PALIGNR mm4, mm0, 7, mm0
PALIGNR mm1, mm2, 1, mm2
- test r1, r1 ; top_left
+ test r1d, r1d ; top_left
jz .fix_lt_1
.do_left:
movq mm0, mm4
@@ -1545,9 +1545,9 @@ cglobal pred8x8l_down_right_8, 4,5
movq mm4, mm3
PALIGNR mm2, mm0, 7, mm0
PALIGNR mm1, mm4, 1, mm4
- test r1, r1 ; top_left
+ test r1d, r1d ; top_left
jz .fix_lt_2
- test r2, r2 ; top_right
+ test r2d, r2d ; top_right
jz .fix_tr_1
.do_top:
PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5
@@ -1566,7 +1566,7 @@ cglobal pred8x8l_down_right_8, 4,5
psllq mm5, 56
psrlq mm5, 56
pxor mm2, mm5
- test r2, r2 ; top_right
+ test r2d, r2d ; top_right
jnz .do_top
.fix_tr_1:
movq mm5, mm3
@@ -1659,7 +1659,7 @@ cglobal pred8x8l_down_right_8, 4,5
movq mm2, mm3
PALIGNR mm4, mm0, 7, mm0
PALIGNR mm1, mm2, 1, mm2
- test r1, r1
+ test r1d, r1d
jz .fix_lt_1
jmp .do_left
.fix_lt_1:
@@ -1675,7 +1675,7 @@ cglobal pred8x8l_down_right_8, 4,5
psllq mm5, 56
psrlq mm5, 56
pxor mm2, mm5
- test r2, r2
+ test r2d, r2d
jnz .do_top
.fix_tr_1:
movq mm5, mm3
@@ -1701,9 +1701,9 @@ cglobal pred8x8l_down_right_8, 4,5
movq mm4, mm3
PALIGNR mm2, mm0, 7, mm0
PALIGNR mm1, mm4, 1, mm4
- test r1, r1
+ test r1d, r1d
jz .fix_lt_2
- test r2, r2
+ test r2d, r2d
jz .fix_tr_1
.do_top:
PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5
@@ -1779,7 +1779,7 @@ cglobal pred8x8l_vertical_right_8, 4,5
movq mm2, mm3
PALIGNR mm4, mm0, 7, mm0
PALIGNR mm1, mm2, 1, mm2
- test r1, r1
+ test r1d, r1d
jz .fix_lt_1
jmp .do_left
.fix_lt_1:
@@ -1795,7 +1795,7 @@ cglobal pred8x8l_vertical_right_8, 4,5
psllq mm5, 56
psrlq mm5, 56
pxor mm2, mm5
- test r2, r2
+ test r2d, r2d
jnz .do_top
.fix_tr_1:
movq mm5, mm3
@@ -1815,9 +1815,9 @@ cglobal pred8x8l_vertical_right_8, 4,5
movq mm4, mm3
PALIGNR mm2, mm0, 7, mm0
PALIGNR mm1, mm4, 1, mm4
- test r1, r1
+ test r1d, r1d
jz .fix_lt_2
- test r2, r2
+ test r2d, r2d
jz .fix_tr_1
.do_top:
PRED4x4_LOWPASS mm6, mm2, mm1, mm3, mm5
@@ -1889,7 +1889,7 @@ cglobal pred8x8l_vertical_right_8, 4,5,7
movq mm2, mm3
PALIGNR mm4, mm0, 7, mm0
PALIGNR mm1, mm2, 1, mm2
- test r1, r1
+ test r1d, r1d
jnz .do_left
.fix_lt_1:
movq mm5, mm3
@@ -1904,7 +1904,7 @@ cglobal pred8x8l_vertical_right_8, 4,5,7
psllq mm5, 56
psrlq mm5, 56
pxor mm2, mm5
- test r2, r2
+ test r2d, r2d
jnz .do_top
.fix_tr_1:
movq mm5, mm3
@@ -1924,9 +1924,9 @@ cglobal pred8x8l_vertical_right_8, 4,5,7
movq mm4, mm3
PALIGNR mm2, mm0, 7, mm0
PALIGNR mm1, mm4, 1, mm4
- test r1, r1
+ test r1d, r1d
jz .fix_lt_2
- test r2, r2
+ test r2d, r2d
jz .fix_tr_1
.do_top:
PRED4x4_LOWPASS mm6, mm2, mm1, mm3, mm5
@@ -1991,9 +1991,9 @@ cglobal pred8x8l_vertical_left_8, 4,4
movq mm4, mm3
PALIGNR mm2, mm0, 7, mm0
PALIGNR mm1, mm4, 1, mm4
- test r1, r1
+ test r1d, r1d
jz .fix_lt_2
- test r2, r2
+ test r2d, r2d
jz .fix_tr_1
jmp .do_top
.fix_lt_2:
@@ -2002,7 +2002,7 @@ cglobal pred8x8l_vertical_left_8, 4,4
psllq mm5, 56
psrlq mm5, 56
pxor mm2, mm5
- test r2, r2
+ test r2d, r2d
jnz .do_top
.fix_tr_1:
movq mm5, mm3
@@ -2018,7 +2018,7 @@ cglobal pred8x8l_vertical_left_8, 4,4
.do_top:
PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5
movq2dq xmm4, mm4
- test r2, r2
+ test r2d, r2d
jz .fix_tr_2
movq mm0, [r0+8]
movq mm5, mm0
@@ -2076,7 +2076,7 @@ cglobal pred8x8l_horizontal_up_8, 4,4
sub r0, r3
lea r2, [r0+r3*2]
movq mm0, [r0+r3*1-8]
- test r1, r1
+ test r1d, r1d
lea r1, [r0+r3]
cmovnz r1, r0
punpckhbw mm0, [r1+r3*0-8]
@@ -2185,7 +2185,7 @@ cglobal pred8x8l_horizontal_down_8, 4,5
movq mm2, mm3
PALIGNR mm4, mm0, 7, mm0
PALIGNR mm1, mm2, 1, mm2
- test r1, r1
+ test r1d, r1d
jnz .do_left
.fix_lt_1:
movq mm5, mm3
@@ -2200,7 +2200,7 @@ cglobal pred8x8l_horizontal_down_8, 4,5
psllq mm5, 56
psrlq mm5, 56
pxor mm2, mm5
- test r2, r2
+ test r2d, r2d
jnz .do_top
.fix_tr_1:
movq mm5, mm3
@@ -2225,9 +2225,9 @@ cglobal pred8x8l_horizontal_down_8, 4,5
movq mm4, mm3
PALIGNR mm2, mm0, 7, mm0
PALIGNR mm1, mm4, 1, mm4
- test r1, r1
+ test r1d, r1d
jz .fix_lt_2
- test r2, r2
+ test r2d, r2d
jz .fix_tr_1
.do_top:
PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5
@@ -2300,7 +2300,7 @@ cglobal pred8x8l_horizontal_down_8, 4,5
movq mm2, mm3
PALIGNR mm4, mm0, 7, mm0
PALIGNR mm1, mm2, 1, mm2
- test r1, r1
+ test r1d, r1d
jnz .do_left
.fix_lt_1:
movq mm5, mm3
@@ -2315,7 +2315,7 @@ cglobal pred8x8l_horizontal_down_8, 4,5
psllq mm5, 56
psrlq mm5, 56
pxor mm2, mm5
- test r2, r2
+ test r2d, r2d
jnz .do_top
.fix_tr_1:
movq mm5, mm3
@@ -2346,14 +2346,14 @@ cglobal pred8x8l_horizontal_down_8, 4,5
movq mm4, mm3
PALIGNR mm2, mm0, 7, mm0
PALIGNR mm1, mm4, 1, mm4
- test r1, r1
+ test r1d, r1d
jz .fix_lt_2
- test r2, r2
+ test r2d, r2d
jz .fix_tr_1
.do_top:
PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5
movq2dq xmm1, mm4
- test r2, r2
+ test r2d, r2d
jz .fix_tr_2
movq mm0, [r0+8]
movq mm5, mm0
More information about the ffmpeg-cvslog
mailing list