diff options
Diffstat (limited to 'libraries/evas/src/lib/engines/common/evas_op_copy/op_copy_pixel_i386.c')
-rw-r--r-- | libraries/evas/src/lib/engines/common/evas_op_copy/op_copy_pixel_i386.c | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/libraries/evas/src/lib/engines/common/evas_op_copy/op_copy_pixel_i386.c b/libraries/evas/src/lib/engines/common/evas_op_copy/op_copy_pixel_i386.c deleted file mode 100644 index b03022b..0000000 --- a/libraries/evas/src/lib/engines/common/evas_op_copy/op_copy_pixel_i386.c +++ /dev/null | |||
@@ -1,131 +0,0 @@ | |||
1 | /* copy pixel --> dst */ | ||
2 | |||
3 | #ifdef BUILD_MMX | ||
4 | static void | ||
5 | _op_copy_p_dp_mmx(DATA32 *s, DATA8 *m __UNUSED__, DATA32 c __UNUSED__, DATA32 *d, int l) { | ||
6 | DATA32 *e = d + l - 15; | ||
7 | for (; d < e; d+=16, s+=16) { | ||
8 | MOVE_16DWORDS_MMX(s, d); | ||
9 | } | ||
10 | e+=15; | ||
11 | for (; d < e; d++, s++) { | ||
12 | *d = *s; | ||
13 | } | ||
14 | } | ||
15 | |||
16 | #define _op_copy_pan_dp_mmx _op_copy_p_dp_mmx | ||
17 | #define _op_copy_pas_dp_mmx _op_copy_p_dp_mmx | ||
18 | |||
19 | #define _op_copy_p_dpan_mmx _op_copy_p_dp_mmx | ||
20 | #define _op_copy_pan_dpan_mmx _op_copy_pan_dp_mmx | ||
21 | #define _op_copy_pas_dpan_mmx _op_copy_pas_dp_mmx | ||
22 | |||
23 | static void | ||
24 | init_copy_pixel_span_funcs_mmx(void) | ||
25 | { | ||
26 | op_copy_span_funcs[SP][SM_N][SC_N][DP][CPU_MMX] = _op_copy_p_dp_mmx; | ||
27 | op_copy_span_funcs[SP_AN][SM_N][SC_N][DP][CPU_MMX] = _op_copy_pan_dp_mmx; | ||
28 | op_copy_span_funcs[SP_AS][SM_N][SC_N][DP][CPU_MMX] = _op_copy_pas_dp_mmx; | ||
29 | |||
30 | op_copy_span_funcs[SP][SM_N][SC_N][DP_AN][CPU_MMX] = _op_copy_p_dpan_mmx; | ||
31 | op_copy_span_funcs[SP_AN][SM_N][SC_N][DP_AN][CPU_MMX] = _op_copy_pan_dpan_mmx; | ||
32 | op_copy_span_funcs[SP_AS][SM_N][SC_N][DP_AN][CPU_MMX] = _op_copy_pas_dpan_mmx; | ||
33 | } | ||
34 | #endif | ||
35 | |||
36 | #ifdef BUILD_MMX | ||
37 | static void | ||
38 | _op_copy_pt_p_dp_mmx(DATA32 s, DATA8 m __UNUSED__, DATA32 c __UNUSED__, DATA32 *d) { | ||
39 | *d = s; | ||
40 | } | ||
41 | |||
42 | #define _op_copy_pt_pan_dp_mmx _op_copy_pt_p_dp_mmx | ||
43 | #define _op_copy_pt_pas_dp_mmx _op_copy_pt_p_dp_mmx | ||
44 | |||
45 | #define _op_copy_pt_p_dpan_mmx _op_copy_pt_p_dp_mmx | ||
46 | #define _op_copy_pt_pan_dpan_mmx _op_copy_pt_pan_dp_mmx | ||
47 | #define _op_copy_pt_pas_dpan_mmx _op_copy_pt_pas_dp_mmx | ||
48 | |||
49 | static void | ||
50 | init_copy_pixel_pt_funcs_mmx(void) | ||
51 | { | ||
52 | op_copy_pt_funcs[SP][SM_N][SC_N][DP][CPU_MMX] = _op_copy_pt_p_dp_mmx; | ||
53 | op_copy_pt_funcs[SP_AN][SM_N][SC_N][DP][CPU_MMX] = _op_copy_pt_pan_dp_mmx; | ||
54 | op_copy_pt_funcs[SP_AS][SM_N][SC_N][DP][CPU_MMX] = _op_copy_pt_pas_dp_mmx; | ||
55 | |||
56 | op_copy_pt_funcs[SP][SM_N][SC_N][DP_AN][CPU_MMX] = _op_copy_pt_p_dpan_mmx; | ||
57 | op_copy_pt_funcs[SP_AN][SM_N][SC_N][DP_AN][CPU_MMX] = _op_copy_pt_pan_dpan_mmx; | ||
58 | op_copy_pt_funcs[SP_AS][SM_N][SC_N][DP_AN][CPU_MMX] = _op_copy_pt_pas_dpan_mmx; | ||
59 | } | ||
60 | #endif | ||
61 | |||
62 | /*-----*/ | ||
63 | |||
64 | /* copy_rel pixel --> dst */ | ||
65 | |||
66 | #ifdef BUILD_MMX | ||
67 | static void | ||
68 | _op_copy_rel_p_dp_mmx(DATA32 *s, DATA8 *m __UNUSED__, DATA32 c __UNUSED__, DATA32 *d, int l) { | ||
69 | DATA32 *e = d + l; | ||
70 | pxor_r2r(mm0, mm0); | ||
71 | MOV_A2R(ALPHA_255, mm5) | ||
72 | for (; d < e; d++, s++) { | ||
73 | MOV_PA2R(*d, mm1) | ||
74 | MOV_P2R(*s, mm2, mm0) | ||
75 | MUL4_SYM_R2R(mm2, mm1, mm5) | ||
76 | MOV_R2P(mm1, *d, mm0) | ||
77 | } | ||
78 | } | ||
79 | |||
80 | |||
81 | #define _op_copy_rel_pas_dp_mmx _op_copy_rel_p_dp_mmx | ||
82 | #define _op_copy_rel_pan_dp_mmx _op_copy_rel_p_dp_mmx | ||
83 | |||
84 | #define _op_copy_rel_p_dpan_mmx _op_copy_p_dpan_mmx | ||
85 | #define _op_copy_rel_pan_dpan_mmx _op_copy_pan_dpan_mmx | ||
86 | #define _op_copy_rel_pas_dpan_mmx _op_copy_pas_dpan_mmx | ||
87 | |||
88 | static void | ||
89 | init_copy_rel_pixel_span_funcs_mmx(void) | ||
90 | { | ||
91 | op_copy_rel_span_funcs[SP][SM_N][SC_N][DP][CPU_MMX] = _op_copy_rel_p_dp_mmx; | ||
92 | op_copy_rel_span_funcs[SP_AN][SM_N][SC_N][DP][CPU_MMX] = _op_copy_rel_pan_dp_mmx; | ||
93 | op_copy_rel_span_funcs[SP_AS][SM_N][SC_N][DP][CPU_MMX] = _op_copy_rel_pas_dp_mmx; | ||
94 | |||
95 | op_copy_rel_span_funcs[SP][SM_N][SC_N][DP_AN][CPU_MMX] = _op_copy_rel_p_dpan_mmx; | ||
96 | op_copy_rel_span_funcs[SP_AN][SM_N][SC_N][DP_AN][CPU_MMX] = _op_copy_rel_pan_dpan_mmx; | ||
97 | op_copy_rel_span_funcs[SP_AS][SM_N][SC_N][DP_AN][CPU_MMX] = _op_copy_rel_pas_dpan_mmx; | ||
98 | } | ||
99 | #endif | ||
100 | |||
101 | #ifdef BUILD_MMX | ||
102 | static void | ||
103 | _op_copy_rel_pt_p_dp_mmx(DATA32 s, DATA8 m __UNUSED__, DATA32 c, DATA32 *d) { | ||
104 | c = 1 + (*d >> 24); | ||
105 | MOV_A2R(c, mm1) | ||
106 | pxor_r2r(mm0, mm0); | ||
107 | MOV_P2R(s, mm2, mm0) | ||
108 | MUL4_256_R2R(mm2, mm1) | ||
109 | MOV_R2P(mm1, *d, mm0) | ||
110 | } | ||
111 | |||
112 | |||
113 | #define _op_copy_rel_pt_pan_dp_mmx _op_copy_rel_pt_p_dp_mmx | ||
114 | #define _op_copy_rel_pt_pas_dp_mmx _op_copy_rel_pt_p_dp_mmx | ||
115 | |||
116 | #define _op_copy_rel_pt_p_dpan_mmx _op_copy_pt_p_dpan_mmx | ||
117 | #define _op_copy_rel_pt_pan_dpan_mmx _op_copy_pt_pan_dpan_mmx | ||
118 | #define _op_copy_rel_pt_pas_dpan_mmx _op_copy_pt_pas_dpan_mmx | ||
119 | |||
120 | static void | ||
121 | init_copy_rel_pixel_pt_funcs_mmx(void) | ||
122 | { | ||
123 | op_copy_rel_pt_funcs[SP][SM_N][SC_N][DP][CPU_MMX] = _op_copy_rel_pt_p_dp_mmx; | ||
124 | op_copy_rel_pt_funcs[SP_AN][SM_N][SC_N][DP][CPU_MMX] = _op_copy_rel_pt_pan_dp_mmx; | ||
125 | op_copy_rel_pt_funcs[SP_AS][SM_N][SC_N][DP][CPU_MMX] = _op_copy_rel_pt_pas_dp_mmx; | ||
126 | |||
127 | op_copy_rel_pt_funcs[SP][SM_N][SC_N][DP_AN][CPU_MMX] = _op_copy_rel_pt_p_dpan_mmx; | ||
128 | op_copy_rel_pt_funcs[SP_AN][SM_N][SC_N][DP_AN][CPU_MMX] = _op_copy_rel_pt_pan_dpan_mmx; | ||
129 | op_copy_rel_pt_funcs[SP_AS][SM_N][SC_N][DP_AN][CPU_MMX] = _op_copy_rel_pt_pas_dpan_mmx; | ||
130 | } | ||
131 | #endif | ||