1 .file "composite_line_22_4a4_mmx.S"
9 .globl pixops_composite_line_22_4a4_mmx
10 .type pixops_composite_line_22_4a4_mmx,@function
11 pixops_composite_line_22_4a4_mmx:
15 .globl _pixops_composite_line_22_4a4_mmx
16 _pixops_composite_line_22_4a4_mmx:
42 * int x_scaled -24(%ebp)
48 /* Initialize variables */
59 /* Load initial values into %mm1, %mm3 */
65 movl (%edi, %edx), %eax
66 movd (%edi, %edx), %mm5
80 movl (%edi, %edx), %eax
81 movd (%edi, %edx), %mm5
101 /* int x_index = (x & 0xf000) >> 12 */
106 movq (%edi,%eax),%mm4
108 movq 8(%edi,%eax),%mm5
110 movq 16(%edi,%eax),%mm6
111 movq 24(%edi,%eax),%mm7
141 /* x_scale = x >> 16; */
162 * Load the two new values into %mm1, %mm3, move old values into %mm0, %mm2
169 # %mm4 will always be already clear here
173 movl (%edi, %edx), %eax
174 movd (%edi, %edx), %mm5
180 * mull destroyed %edx, need to reconstitute
185 orl $0xff000000, %eax
191 movl (%edi, %edx), %eax
192 movd (%edi, %edx), %mm5
197 orl $0xff000000, %eax