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@khirnov.net>
This commit is contained in:
		
							parent
							
								
									82f8eb5f77
								
							
						
					
					
						commit
						2d91abade2
					
				| @ -1027,9 +1027,9 @@ cglobal pred8x8l_top_dc_8, 4,4 | |||||||
|     movq        mm4, mm3 |     movq        mm4, mm3 | ||||||
|     PALIGNR     mm2, mm0, 7, mm0 |     PALIGNR     mm2, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm4, 1, mm4 |     PALIGNR     mm1, mm4, 1, mm4 | ||||||
|     test         r1, r1 ; top_left |     test        r1d, r1d ; top_left | ||||||
|     jz .fix_lt_2 |     jz .fix_lt_2 | ||||||
|     test         r2, r2 ; top_right |     test        r2d, r2d ; top_right | ||||||
|     jz .fix_tr_1 |     jz .fix_tr_1 | ||||||
|     jmp .body |     jmp .body | ||||||
| .fix_lt_2: | .fix_lt_2: | ||||||
| @ -1038,7 +1038,7 @@ cglobal pred8x8l_top_dc_8, 4,4 | |||||||
|     psllq       mm5, 56 |     psllq       mm5, 56 | ||||||
|     psrlq       mm5, 56 |     psrlq       mm5, 56 | ||||||
|     pxor        mm2, mm5 |     pxor        mm2, mm5 | ||||||
|     test         r2, r2 ; top_right |     test        r2d, r2d ; top_right | ||||||
|     jnz .body |     jnz .body | ||||||
| .fix_tr_1: | .fix_tr_1: | ||||||
|     movq        mm5, mm3 |     movq        mm5, mm3 | ||||||
| @ -1099,7 +1099,7 @@ cglobal pred8x8l_dc_8, 4,5 | |||||||
|     movq        mm2, mm3 |     movq        mm2, mm3 | ||||||
|     PALIGNR     mm4, mm0, 7, mm0 |     PALIGNR     mm4, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm2, 1, mm2 |     PALIGNR     mm1, mm2, 1, mm2 | ||||||
|     test        r1, r1 |     test        r1d, r1d | ||||||
|     jnz .do_left |     jnz .do_left | ||||||
| .fix_lt_1: | .fix_lt_1: | ||||||
|     movq        mm5, mm3 |     movq        mm5, mm3 | ||||||
| @ -1114,7 +1114,7 @@ cglobal pred8x8l_dc_8, 4,5 | |||||||
|     psllq       mm5, 56 |     psllq       mm5, 56 | ||||||
|     psrlq       mm5, 56 |     psrlq       mm5, 56 | ||||||
|     pxor        mm2, mm5 |     pxor        mm2, mm5 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jnz .body |     jnz .body | ||||||
| .fix_tr_1: | .fix_tr_1: | ||||||
|     movq        mm5, mm3 |     movq        mm5, mm3 | ||||||
| @ -1138,9 +1138,9 @@ cglobal pred8x8l_dc_8, 4,5 | |||||||
|     movq        mm4, mm3 |     movq        mm4, mm3 | ||||||
|     PALIGNR     mm2, mm0, 7, mm0 |     PALIGNR     mm2, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm4, 1, mm4 |     PALIGNR     mm1, mm4, 1, mm4 | ||||||
|     test         r1, r1 |     test        r1d, r1d | ||||||
|     jz .fix_lt_2 |     jz .fix_lt_2 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jz .fix_tr_1 |     jz .fix_tr_1 | ||||||
| .body: | .body: | ||||||
|     lea          r1, [r0+r3*2] |     lea          r1, [r0+r3*2] | ||||||
| @ -1182,7 +1182,7 @@ cglobal pred8x8l_horizontal_8, 4,4 | |||||||
|     sub          r0, r3 |     sub          r0, r3 | ||||||
|     lea          r2, [r0+r3*2] |     lea          r2, [r0+r3*2] | ||||||
|     movq        mm0, [r0+r3*1-8] |     movq        mm0, [r0+r3*1-8] | ||||||
|     test         r1, r1 |     test        r1d, r1d | ||||||
|     lea          r1, [r0+r3] |     lea          r1, [r0+r3] | ||||||
|     cmovnz       r1, r0 |     cmovnz       r1, r0 | ||||||
|     punpckhbw   mm0, [r1+r3*0-8] |     punpckhbw   mm0, [r1+r3*0-8] | ||||||
| @ -1259,9 +1259,9 @@ cglobal pred8x8l_vertical_8, 4,4 | |||||||
|     movq        mm4, mm3 |     movq        mm4, mm3 | ||||||
|     PALIGNR     mm2, mm0, 7, mm0 |     PALIGNR     mm2, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm4, 1, mm4 |     PALIGNR     mm1, mm4, 1, mm4 | ||||||
|     test         r1, r1 ; top_left |     test        r1d, r1d ; top_left | ||||||
|     jz .fix_lt_2 |     jz .fix_lt_2 | ||||||
|     test         r2, r2 ; top_right |     test        r2d, r2d ; top_right | ||||||
|     jz .fix_tr_1 |     jz .fix_tr_1 | ||||||
|     jmp .body |     jmp .body | ||||||
| .fix_lt_2: | .fix_lt_2: | ||||||
| @ -1270,7 +1270,7 @@ cglobal pred8x8l_vertical_8, 4,4 | |||||||
|     psllq       mm5, 56 |     psllq       mm5, 56 | ||||||
|     psrlq       mm5, 56 |     psrlq       mm5, 56 | ||||||
|     pxor        mm2, mm5 |     pxor        mm2, mm5 | ||||||
|     test         r2, r2 ; top_right |     test        r2d, r2d ; top_right | ||||||
|     jnz .body |     jnz .body | ||||||
| .fix_tr_1: | .fix_tr_1: | ||||||
|     movq        mm5, mm3 |     movq        mm5, mm3 | ||||||
| @ -1310,9 +1310,9 @@ cglobal pred8x8l_down_left_8, 4,5 | |||||||
|     movq        mm4, mm3 |     movq        mm4, mm3 | ||||||
|     PALIGNR     mm2, mm0, 7, mm0 |     PALIGNR     mm2, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm4, 1, mm4 |     PALIGNR     mm1, mm4, 1, mm4 | ||||||
|     test         r1, r1 |     test        r1d, r1d | ||||||
|     jz .fix_lt_2 |     jz .fix_lt_2 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jz .fix_tr_1 |     jz .fix_tr_1 | ||||||
|     jmp .do_top |     jmp .do_top | ||||||
| .fix_lt_2: | .fix_lt_2: | ||||||
| @ -1321,7 +1321,7 @@ cglobal pred8x8l_down_left_8, 4,5 | |||||||
|     psllq       mm5, 56 |     psllq       mm5, 56 | ||||||
|     psrlq       mm5, 56 |     psrlq       mm5, 56 | ||||||
|     pxor        mm2, mm5 |     pxor        mm2, mm5 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jnz .do_top |     jnz .do_top | ||||||
| .fix_tr_1: | .fix_tr_1: | ||||||
|     movq        mm5, mm3 |     movq        mm5, mm3 | ||||||
| @ -1337,7 +1337,7 @@ cglobal pred8x8l_down_left_8, 4,5 | |||||||
| .do_top: | .do_top: | ||||||
|     PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5 |     PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5 | ||||||
|     movq        mm7, mm4 |     movq        mm7, mm4 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jz .fix_tr_2 |     jz .fix_tr_2 | ||||||
|     movq        mm0, [r0+8] |     movq        mm0, [r0+8] | ||||||
|     movq        mm5, mm0 |     movq        mm5, mm0 | ||||||
| @ -1418,9 +1418,9 @@ cglobal pred8x8l_down_left_8, 4,4 | |||||||
|     movq        mm4, mm3 |     movq        mm4, mm3 | ||||||
|     PALIGNR     mm2, mm0, 7, mm0 |     PALIGNR     mm2, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm4, 1, mm4 |     PALIGNR     mm1, mm4, 1, mm4 | ||||||
|     test         r1, r1 ; top_left |     test        r1d, r1d ; top_left | ||||||
|     jz .fix_lt_2 |     jz .fix_lt_2 | ||||||
|     test         r2, r2 ; top_right |     test        r2d, r2d ; top_right | ||||||
|     jz .fix_tr_1 |     jz .fix_tr_1 | ||||||
|     jmp .do_top |     jmp .do_top | ||||||
| .fix_lt_2: | .fix_lt_2: | ||||||
| @ -1429,7 +1429,7 @@ cglobal pred8x8l_down_left_8, 4,4 | |||||||
|     psllq       mm5, 56 |     psllq       mm5, 56 | ||||||
|     psrlq       mm5, 56 |     psrlq       mm5, 56 | ||||||
|     pxor        mm2, mm5 |     pxor        mm2, mm5 | ||||||
|     test         r2, r2 ; top_right |     test        r2d, r2d ; top_right | ||||||
|     jnz .do_top |     jnz .do_top | ||||||
| .fix_tr_1: | .fix_tr_1: | ||||||
|     movq        mm5, mm3 |     movq        mm5, mm3 | ||||||
| @ -1445,7 +1445,7 @@ cglobal pred8x8l_down_left_8, 4,4 | |||||||
| .do_top: | .do_top: | ||||||
|     PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5 |     PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5 | ||||||
|     movq2dq    xmm3, mm4 |     movq2dq    xmm3, mm4 | ||||||
|     test         r2, r2 ; top_right |     test        r2d, r2d ; top_right | ||||||
|     jz .fix_tr_2 |     jz .fix_tr_2 | ||||||
|     movq        mm0, [r0+8] |     movq        mm0, [r0+8] | ||||||
|     movq        mm5, mm0 |     movq        mm5, mm0 | ||||||
| @ -1527,7 +1527,7 @@ cglobal pred8x8l_down_right_8, 4,5 | |||||||
|     movq        mm2, mm3 |     movq        mm2, mm3 | ||||||
|     PALIGNR     mm4, mm0, 7, mm0 |     PALIGNR     mm4, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm2, 1, mm2 |     PALIGNR     mm1, mm2, 1, mm2 | ||||||
|     test        r1, r1 ; top_left |     test        r1d, r1d ; top_left | ||||||
|     jz .fix_lt_1 |     jz .fix_lt_1 | ||||||
| .do_left: | .do_left: | ||||||
|     movq        mm0, mm4 |     movq        mm0, mm4 | ||||||
| @ -1545,9 +1545,9 @@ cglobal pred8x8l_down_right_8, 4,5 | |||||||
|     movq        mm4, mm3 |     movq        mm4, mm3 | ||||||
|     PALIGNR     mm2, mm0, 7, mm0 |     PALIGNR     mm2, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm4, 1, mm4 |     PALIGNR     mm1, mm4, 1, mm4 | ||||||
|     test         r1, r1 ; top_left |     test        r1d, r1d ; top_left | ||||||
|     jz .fix_lt_2 |     jz .fix_lt_2 | ||||||
|     test         r2, r2 ; top_right |     test        r2d, r2d ; top_right | ||||||
|     jz .fix_tr_1 |     jz .fix_tr_1 | ||||||
| .do_top: | .do_top: | ||||||
|     PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5 |     PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5 | ||||||
| @ -1566,7 +1566,7 @@ cglobal pred8x8l_down_right_8, 4,5 | |||||||
|     psllq       mm5, 56 |     psllq       mm5, 56 | ||||||
|     psrlq       mm5, 56 |     psrlq       mm5, 56 | ||||||
|     pxor        mm2, mm5 |     pxor        mm2, mm5 | ||||||
|     test         r2, r2 ; top_right |     test        r2d, r2d ; top_right | ||||||
|     jnz .do_top |     jnz .do_top | ||||||
| .fix_tr_1: | .fix_tr_1: | ||||||
|     movq        mm5, mm3 |     movq        mm5, mm3 | ||||||
| @ -1659,7 +1659,7 @@ cglobal pred8x8l_down_right_8, 4,5 | |||||||
|     movq        mm2, mm3 |     movq        mm2, mm3 | ||||||
|     PALIGNR     mm4, mm0, 7, mm0 |     PALIGNR     mm4, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm2, 1, mm2 |     PALIGNR     mm1, mm2, 1, mm2 | ||||||
|     test        r1, r1 |     test        r1d, r1d | ||||||
|     jz .fix_lt_1 |     jz .fix_lt_1 | ||||||
|     jmp .do_left |     jmp .do_left | ||||||
| .fix_lt_1: | .fix_lt_1: | ||||||
| @ -1675,7 +1675,7 @@ cglobal pred8x8l_down_right_8, 4,5 | |||||||
|     psllq       mm5, 56 |     psllq       mm5, 56 | ||||||
|     psrlq       mm5, 56 |     psrlq       mm5, 56 | ||||||
|     pxor        mm2, mm5 |     pxor        mm2, mm5 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jnz .do_top |     jnz .do_top | ||||||
| .fix_tr_1: | .fix_tr_1: | ||||||
|     movq        mm5, mm3 |     movq        mm5, mm3 | ||||||
| @ -1701,9 +1701,9 @@ cglobal pred8x8l_down_right_8, 4,5 | |||||||
|     movq        mm4, mm3 |     movq        mm4, mm3 | ||||||
|     PALIGNR     mm2, mm0, 7, mm0 |     PALIGNR     mm2, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm4, 1, mm4 |     PALIGNR     mm1, mm4, 1, mm4 | ||||||
|     test         r1, r1 |     test        r1d, r1d | ||||||
|     jz .fix_lt_2 |     jz .fix_lt_2 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jz .fix_tr_1 |     jz .fix_tr_1 | ||||||
| .do_top: | .do_top: | ||||||
|     PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5 |     PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5 | ||||||
| @ -1779,7 +1779,7 @@ cglobal pred8x8l_vertical_right_8, 4,5 | |||||||
|     movq        mm2, mm3 |     movq        mm2, mm3 | ||||||
|     PALIGNR     mm4, mm0, 7, mm0 |     PALIGNR     mm4, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm2, 1, mm2 |     PALIGNR     mm1, mm2, 1, mm2 | ||||||
|     test        r1, r1 |     test        r1d, r1d | ||||||
|     jz .fix_lt_1 |     jz .fix_lt_1 | ||||||
|     jmp .do_left |     jmp .do_left | ||||||
| .fix_lt_1: | .fix_lt_1: | ||||||
| @ -1795,7 +1795,7 @@ cglobal pred8x8l_vertical_right_8, 4,5 | |||||||
|     psllq       mm5, 56 |     psllq       mm5, 56 | ||||||
|     psrlq       mm5, 56 |     psrlq       mm5, 56 | ||||||
|     pxor        mm2, mm5 |     pxor        mm2, mm5 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jnz .do_top |     jnz .do_top | ||||||
| .fix_tr_1: | .fix_tr_1: | ||||||
|     movq        mm5, mm3 |     movq        mm5, mm3 | ||||||
| @ -1815,9 +1815,9 @@ cglobal pred8x8l_vertical_right_8, 4,5 | |||||||
|     movq        mm4, mm3 |     movq        mm4, mm3 | ||||||
|     PALIGNR     mm2, mm0, 7, mm0 |     PALIGNR     mm2, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm4, 1, mm4 |     PALIGNR     mm1, mm4, 1, mm4 | ||||||
|     test         r1, r1 |     test        r1d, r1d | ||||||
|     jz .fix_lt_2 |     jz .fix_lt_2 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jz .fix_tr_1 |     jz .fix_tr_1 | ||||||
| .do_top: | .do_top: | ||||||
|     PRED4x4_LOWPASS mm6, mm2, mm1, mm3, mm5 |     PRED4x4_LOWPASS mm6, mm2, mm1, mm3, mm5 | ||||||
| @ -1889,7 +1889,7 @@ cglobal pred8x8l_vertical_right_8, 4,5,7 | |||||||
|     movq        mm2, mm3 |     movq        mm2, mm3 | ||||||
|     PALIGNR     mm4, mm0, 7, mm0 |     PALIGNR     mm4, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm2, 1, mm2 |     PALIGNR     mm1, mm2, 1, mm2 | ||||||
|     test        r1, r1 |     test        r1d, r1d | ||||||
|     jnz .do_left |     jnz .do_left | ||||||
| .fix_lt_1: | .fix_lt_1: | ||||||
|     movq        mm5, mm3 |     movq        mm5, mm3 | ||||||
| @ -1904,7 +1904,7 @@ cglobal pred8x8l_vertical_right_8, 4,5,7 | |||||||
|     psllq       mm5, 56 |     psllq       mm5, 56 | ||||||
|     psrlq       mm5, 56 |     psrlq       mm5, 56 | ||||||
|     pxor        mm2, mm5 |     pxor        mm2, mm5 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jnz .do_top |     jnz .do_top | ||||||
| .fix_tr_1: | .fix_tr_1: | ||||||
|     movq        mm5, mm3 |     movq        mm5, mm3 | ||||||
| @ -1924,9 +1924,9 @@ cglobal pred8x8l_vertical_right_8, 4,5,7 | |||||||
|     movq        mm4, mm3 |     movq        mm4, mm3 | ||||||
|     PALIGNR     mm2, mm0, 7, mm0 |     PALIGNR     mm2, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm4, 1, mm4 |     PALIGNR     mm1, mm4, 1, mm4 | ||||||
|     test         r1, r1 |     test        r1d, r1d | ||||||
|     jz .fix_lt_2 |     jz .fix_lt_2 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jz .fix_tr_1 |     jz .fix_tr_1 | ||||||
| .do_top: | .do_top: | ||||||
|     PRED4x4_LOWPASS mm6, mm2, mm1, mm3, mm5 |     PRED4x4_LOWPASS mm6, mm2, mm1, mm3, mm5 | ||||||
| @ -1991,9 +1991,9 @@ cglobal pred8x8l_vertical_left_8, 4,4 | |||||||
|     movq        mm4, mm3 |     movq        mm4, mm3 | ||||||
|     PALIGNR     mm2, mm0, 7, mm0 |     PALIGNR     mm2, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm4, 1, mm4 |     PALIGNR     mm1, mm4, 1, mm4 | ||||||
|     test         r1, r1 |     test        r1d, r1d | ||||||
|     jz .fix_lt_2 |     jz .fix_lt_2 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jz .fix_tr_1 |     jz .fix_tr_1 | ||||||
|     jmp .do_top |     jmp .do_top | ||||||
| .fix_lt_2: | .fix_lt_2: | ||||||
| @ -2002,7 +2002,7 @@ cglobal pred8x8l_vertical_left_8, 4,4 | |||||||
|     psllq       mm5, 56 |     psllq       mm5, 56 | ||||||
|     psrlq       mm5, 56 |     psrlq       mm5, 56 | ||||||
|     pxor        mm2, mm5 |     pxor        mm2, mm5 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jnz .do_top |     jnz .do_top | ||||||
| .fix_tr_1: | .fix_tr_1: | ||||||
|     movq        mm5, mm3 |     movq        mm5, mm3 | ||||||
| @ -2018,7 +2018,7 @@ cglobal pred8x8l_vertical_left_8, 4,4 | |||||||
| .do_top: | .do_top: | ||||||
|     PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5 |     PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5 | ||||||
|     movq2dq    xmm4, mm4 |     movq2dq    xmm4, mm4 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jz .fix_tr_2 |     jz .fix_tr_2 | ||||||
|     movq        mm0, [r0+8] |     movq        mm0, [r0+8] | ||||||
|     movq        mm5, mm0 |     movq        mm5, mm0 | ||||||
| @ -2076,7 +2076,7 @@ cglobal pred8x8l_horizontal_up_8, 4,4 | |||||||
|     sub          r0, r3 |     sub          r0, r3 | ||||||
|     lea          r2, [r0+r3*2] |     lea          r2, [r0+r3*2] | ||||||
|     movq        mm0, [r0+r3*1-8] |     movq        mm0, [r0+r3*1-8] | ||||||
|     test         r1, r1 |     test        r1d, r1d | ||||||
|     lea          r1, [r0+r3] |     lea          r1, [r0+r3] | ||||||
|     cmovnz       r1, r0 |     cmovnz       r1, r0 | ||||||
|     punpckhbw   mm0, [r1+r3*0-8] |     punpckhbw   mm0, [r1+r3*0-8] | ||||||
| @ -2185,7 +2185,7 @@ cglobal pred8x8l_horizontal_down_8, 4,5 | |||||||
|     movq        mm2, mm3 |     movq        mm2, mm3 | ||||||
|     PALIGNR     mm4, mm0, 7, mm0 |     PALIGNR     mm4, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm2, 1, mm2 |     PALIGNR     mm1, mm2, 1, mm2 | ||||||
|     test        r1, r1 |     test        r1d, r1d | ||||||
|     jnz .do_left |     jnz .do_left | ||||||
| .fix_lt_1: | .fix_lt_1: | ||||||
|     movq        mm5, mm3 |     movq        mm5, mm3 | ||||||
| @ -2200,7 +2200,7 @@ cglobal pred8x8l_horizontal_down_8, 4,5 | |||||||
|     psllq       mm5, 56 |     psllq       mm5, 56 | ||||||
|     psrlq       mm5, 56 |     psrlq       mm5, 56 | ||||||
|     pxor        mm2, mm5 |     pxor        mm2, mm5 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jnz .do_top |     jnz .do_top | ||||||
| .fix_tr_1: | .fix_tr_1: | ||||||
|     movq        mm5, mm3 |     movq        mm5, mm3 | ||||||
| @ -2225,9 +2225,9 @@ cglobal pred8x8l_horizontal_down_8, 4,5 | |||||||
|     movq        mm4, mm3 |     movq        mm4, mm3 | ||||||
|     PALIGNR     mm2, mm0, 7, mm0 |     PALIGNR     mm2, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm4, 1, mm4 |     PALIGNR     mm1, mm4, 1, mm4 | ||||||
|     test         r1, r1 |     test        r1d, r1d | ||||||
|     jz .fix_lt_2 |     jz .fix_lt_2 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jz .fix_tr_1 |     jz .fix_tr_1 | ||||||
| .do_top: | .do_top: | ||||||
|     PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5 |     PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5 | ||||||
| @ -2300,7 +2300,7 @@ cglobal pred8x8l_horizontal_down_8, 4,5 | |||||||
|     movq        mm2, mm3 |     movq        mm2, mm3 | ||||||
|     PALIGNR     mm4, mm0, 7, mm0 |     PALIGNR     mm4, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm2, 1, mm2 |     PALIGNR     mm1, mm2, 1, mm2 | ||||||
|     test        r1, r1 |     test        r1d, r1d | ||||||
|     jnz .do_left |     jnz .do_left | ||||||
| .fix_lt_1: | .fix_lt_1: | ||||||
|     movq        mm5, mm3 |     movq        mm5, mm3 | ||||||
| @ -2315,7 +2315,7 @@ cglobal pred8x8l_horizontal_down_8, 4,5 | |||||||
|     psllq       mm5, 56 |     psllq       mm5, 56 | ||||||
|     psrlq       mm5, 56 |     psrlq       mm5, 56 | ||||||
|     pxor        mm2, mm5 |     pxor        mm2, mm5 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jnz .do_top |     jnz .do_top | ||||||
| .fix_tr_1: | .fix_tr_1: | ||||||
|     movq        mm5, mm3 |     movq        mm5, mm3 | ||||||
| @ -2346,14 +2346,14 @@ cglobal pred8x8l_horizontal_down_8, 4,5 | |||||||
|     movq        mm4, mm3 |     movq        mm4, mm3 | ||||||
|     PALIGNR     mm2, mm0, 7, mm0 |     PALIGNR     mm2, mm0, 7, mm0 | ||||||
|     PALIGNR     mm1, mm4, 1, mm4 |     PALIGNR     mm1, mm4, 1, mm4 | ||||||
|     test         r1, r1 |     test        r1d, r1d | ||||||
|     jz .fix_lt_2 |     jz .fix_lt_2 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jz .fix_tr_1 |     jz .fix_tr_1 | ||||||
| .do_top: | .do_top: | ||||||
|     PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5 |     PRED4x4_LOWPASS mm4, mm2, mm1, mm3, mm5 | ||||||
|     movq2dq    xmm1, mm4 |     movq2dq    xmm1, mm4 | ||||||
|     test         r2, r2 |     test        r2d, r2d | ||||||
|     jz .fix_tr_2 |     jz .fix_tr_2 | ||||||
|     movq        mm0, [r0+8] |     movq        mm0, [r0+8] | ||||||
|     movq        mm5, mm0 |     movq        mm5, mm0 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user