Lines Matching +full:src +full:- +full:2
1 /* SPDX-License-Identifier: GPL-2.0 */
9 * -mregparm=3 passes these in registers:
15 * n can remain in %ecx, but for `rep movsl`, we'll need dest in %edi and src
21 .set src, %esi define
31 * Save all callee-saved registers, because this function is going to clobber
42 movl src_in, src
50 cmpl dest, src
60 movl src, tmp0
70 movl 0*4(src), tmp0
71 movl 1*4(src), tmp1
74 movl 2*4(src), tmp0
75 movl 3*4(src), tmp1
76 movl tmp0, 2*4(dest)
78 leal 0x10(src), src
87 movl -4(src, n), tmp0
88 leal -4(dest, n), tmp1
89 shrl $2, n
97 movl (src), tmp0
99 leal -4(src, n), src
100 leal -4(dest, n), dest
101 shrl $2, n
113 movl src, tmp0
120 addl n, src
128 movl -1*4(src), tmp0
129 movl -2*4(src), tmp1
130 movl tmp0, -1*4(dest)
131 movl tmp1, -2*4(dest)
132 movl -3*4(src), tmp0
133 movl -4*4(src), tmp1
134 movl tmp0, -3*4(dest)
135 movl tmp1, -4*4(dest)
136 leal -0x10(src), src
137 leal -0x10(dest), dest
141 subl n, src
149 movl 0*4(src), tmp0
150 movl 1*4(src), tmp1
151 movl -2*4(src, n), tmp2
152 movl -1*4(src, n), src
156 movl tmp2, -2*4(dest, n)
157 movl src, -1*4(dest, n)
165 movl 0*4(src), tmp0
166 movl -1*4(src, n), tmp1
168 movl tmp1, -1*4(dest, n)
171 /* Move data from 2 bytes to 3 bytes. */
174 cmpl $2, n
176 movw 0*2(src), tmp0w
177 movw -1*2(src, n), tmp1w
178 movw tmp0w, 0*2(dest)
179 movw tmp1w, -1*2(dest, n)
187 movb (src), tmp3b
192 /* Restore all callee-saved registers: */