[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