]> git.pld-linux.org Git - packages/xavs2.git/blame - xavs2-x86.patch
- updated to 1.4
[packages/xavs2.git] / xavs2-x86.patch
CommitLineData
78efc24c
JB
1--- xavs2-1.4/source/common/x86/quant8.asm.orig 2023-04-09 09:12:17.196476871 +0200
2+++ xavs2-1.4/source/common/x86/quant8.asm 2023-04-09 09:13:53.645954359 +0200
3@@ -48,9 +48,15 @@ cextern pd_n32768
4 INIT_XMM sse4\r
5 cglobal quant, 2,3,8\r
6 ;{\r
7+%if ARCH_X86_64\r
8 movq m4, r2mp ; m4[0] = scale\r
9 movq m5, r3mp ; m5[0] = shift\r
10 movq m6, r4mp ; m6[0] = add\r
11+%else\r
12+ movd m4, r2mp ; m4[0] = scale\r
13+ movd m5, r3mp ; m5[0] = shift\r
14+ movd m6, r4mp ; m6[0] = add\r
15+%endif\r
16 mov r2, r1 ; r2 = i_coef\r
17 shr r1, 3 ; r1 = i_coef/8\r
18 pxor m7, m7 ; m7 <-- num_non_zero = 0\r
19@@ -86,9 +92,15 @@ cglobal quant, 2,3,8
20 ;\r
21 packuswb m7, m7 ;\r
22 psadbw m7, m0 ;\r
23+%if ARCH_X86_64\r
24 movifnidn rax, r2 ; eax <-- i_coef\r
25 movq r1, m7 ;\r
26 sub rax, r1 ; return value: num_non_zero\r
27+%else\r
28+ movifnidn eax, r2 ; eax <-- i_coef\r
29+ movd r1, m7 ;\r
30+ sub eax, r1 ; return value: num_non_zero\r
31+%endif\r
32 RET ; return\r
33 ;}\r
34 \r
35@@ -103,13 +103,22 @@ INIT_XMM sse4
36 cglobal dequant, 2,4,7\r
37 ;{\r
38 mov r3, r3mp ; r3 <-- shift\r
39+%if ARCH_X86_64\r
40 movq m4, r2mp ; m4[0] = scale\r
41 movq m6, r3 ; m6[0] = shift\r
42+%else\r
43+ movd m4, r2mp ; m4[0] = scale\r
44+ movd m6, r3 ; m6[0] = shift\r
45+%endif\r
46 dec r3 ; r3d <-- shift - 1\r
47 xor r2, r2 ; r2 <-- 0\r
48 shr r1, 4 ; r1 = i_coef/16\r
49 bts r2, r3 ; r2 <-- add = 1 < (shift - 1)\r
50+%if ARCH_X86_64\r
51 movq m5, r2 ; m5[0] = add\r
52+%else\r
53+ movd m5, r2 ; m5[0] = add\r
54+%endif\r
55 pshufd m4, m4, 0 ; m4[3210] = scale\r
56 pshufd m5, m5, 0 ; m5[3210] = add\r
57 ;\r
This page took 0.118506 seconds and 4 git commands to generate.