Lines Matching +full:a +full:- +full:f

1 /* SPDX-License-Identifier: GPL-2.0 */
11 /* Those of a delicate disposition might like to skip the next couple of
15 * memset(_, 0, _). However their five instances add at least a kilobyte
18 * Not a great fan of assembler for the sake of it, but I think
21 * a graphics driver. Question is whether some scheme with the blitter
22 * would be faster. I suspect not for simple text system - not much
28 * For more than 15 bytes, we try to align the write direction on a
30 * Unaligned read/write used requires 68020+ - think this is a problem?
55 " lsr.l #1,%1 ; jcc 1f ; move.b %2,-(%0)\n" in fb_memclear_small()
56 "1: lsr.l #1,%1 ; jcc 1f ; move.w %2,-(%0)\n" in fb_memclear_small()
57 "1: lsr.l #1,%1 ; jcc 1f ; move.l %2,-(%0)\n" in fb_memclear_small()
58 "1: lsr.l #1,%1 ; jcc 1f ; move.l %2,-(%0) ; move.l %2,-(%0)\n" in fb_memclear_small()
60 : "=a" (s), "=d" (count) in fb_memclear_small()
64 " jcs 3f\n" in fb_memclear_small()
66 "2: movem.l %2/%%d4/%%d5/%%d6,-(%0)\n" in fb_memclear_small()
69 : "=a" (s), "=d" (count) in fb_memclear_small()
85 " lsr.l #1,%1 ; jcc 1f ; clr.b (%0)+\n" in fb_memclear()
86 "1: lsr.l #1,%1 ; jcc 1f ; clr.w (%0)+\n" in fb_memclear()
87 "1: lsr.l #1,%1 ; jcc 1f ; clr.l (%0)+\n" in fb_memclear()
88 "1: lsr.l #1,%1 ; jcc 1f ; clr.l (%0)+ ; clr.l (%0)+\n" in fb_memclear()
90 : "=a" (s), "=d" (count) in fb_memclear()
96 " lsr.l #1,%2 ; jcc 1f ; clr.b (%0)+ ; subq.w #1,%1\n" in fb_memclear()
97 " lsr.l #1,%2 ; jcs 2f\n" /* %0 increased=>bit 2 switched*/ in fb_memclear()
98 " clr.w (%0)+ ; subq.w #2,%1 ; jra 2f\n" in fb_memclear()
99 "1: lsr.l #1,%2 ; jcc 2f\n" in fb_memclear()
101 "2: move.w %1,%2; lsr.l #2,%1 ; jeq 6f\n" in fb_memclear()
102 " lsr.l #1,%1 ; jcc 3f ; clr.l (%0)+\n" in fb_memclear()
103 "3: lsr.l #1,%1 ; jcc 4f ; clr.l (%0)+ ; clr.l (%0)+\n" in fb_memclear()
104 "4: subq.l #1,%1 ; jcs 6f\n" in fb_memclear()
107 "6: move.w %2,%1; btst #1,%1 ; jeq 7f ; clr.w (%0)+\n" in fb_memclear()
108 "7: btst #0,%1 ; jeq 8f ; clr.b (%0)+\n" in fb_memclear()
110 : "=a" (s), "=d" (count), "=d" (tmp) in fb_memclear()
124 " lsr.l #1,%1 ; jcc 1f ; move.b %2,-(%0)\n" in fb_memset255()
125 "1: lsr.l #1,%1 ; jcc 1f ; move.w %2,-(%0)\n" in fb_memset255()
126 "1: lsr.l #1,%1 ; jcc 1f ; move.l %2,-(%0)\n" in fb_memset255()
127 "1: lsr.l #1,%1 ; jcc 1f ; move.l %2,-(%0) ; move.l %2,-(%0)\n" in fb_memset255()
129 : "=a" (s), "=d" (count) in fb_memset255()
130 : "d" (-1), "0" ((char *)s+count), "1" (count)); in fb_memset255()
132 " subq.l #1,%1 ; jcs 3f\n" in fb_memset255()
134 "2: movem.l %2/%%d4/%%d5/%%d6,-(%0)\n" in fb_memset255()
137 : "=a" (s), "=d" (count) in fb_memset255()
138 : "d" (-1), "0" (s), "1" (count) in fb_memset255()
150 " lsr.l #1,%2 ; jcc 1f ; move.b (%1)+,(%0)+\n" in fb_memmove()
151 "1: lsr.l #1,%2 ; jcc 1f ; move.w (%1)+,(%0)+\n" in fb_memmove()
152 "1: lsr.l #1,%2 ; jcc 1f ; move.l (%1)+,(%0)+\n" in fb_memmove()
153 "1: lsr.l #1,%2 ; jcc 1f ; move.l (%1)+,(%0)+ ; move.l (%1)+,(%0)+\n" in fb_memmove()
155 : "=a" (d), "=a" (s), "=d" (count) in fb_memmove()
161 " lsr.l #1,%3 ; jcc 1f ; move.b (%1)+,(%0)+ ; subqw #1,%2\n" in fb_memmove()
162 " lsr.l #1,%3 ; jcs 2f\n" /* %0 increased=>bit 2 switched*/ in fb_memmove()
163 " move.w (%1)+,(%0)+ ; subqw #2,%2 ; jra 2f\n" in fb_memmove()
164 "1: lsr.l #1,%3 ; jcc 2f\n" in fb_memmove()
166 "2: move.w %2,%-; lsr.l #2,%2 ; jeq 6f\n" in fb_memmove()
167 " lsr.l #1,%2 ; jcc 3f ; move.l (%1)+,(%0)+\n" in fb_memmove()
168 "3: lsr.l #1,%2 ; jcc 4f ; move.l (%1)+,(%0)+ ; move.l (%1)+,(%0)+\n" in fb_memmove()
169 "4: subq.l #1,%2 ; jcs 6f\n" in fb_memmove()
173 "6: move.w %+,%2; btst #1,%2 ; jeq 7f ; move.w (%1)+,(%0)+\n" in fb_memmove()
174 "7: btst #0,%2 ; jeq 8f ; move.b (%1)+,(%0)+\n" in fb_memmove()
176 : "=a" (d), "=a" (s), "=d" (count), "=d" (tmp) in fb_memmove()
182 " lsr.l #1,%2 ; jcc 1f ; move.b -(%1),-(%0)\n" in fb_memmove()
183 "1: lsr.l #1,%2 ; jcc 1f ; move.w -(%1),-(%0)\n" in fb_memmove()
184 "1: lsr.l #1,%2 ; jcc 1f ; move.l -(%1),-(%0)\n" in fb_memmove()
185 "1: lsr.l #1,%2 ; jcc 1f ; move.l -(%1),-(%0) ; move.l -(%1),-(%0)\n" in fb_memmove()
187 : "=a" (d), "=a" (s), "=d" (count) in fb_memmove()
194 " lsr.l #1,%3 ; jcc 1f ; move.b -(%1),-(%0) ; subqw #1,%2\n" in fb_memmove()
195 " lsr.l #1,%3 ; jcs 2f\n" /* %0 increased=>bit 2 switched*/ in fb_memmove()
196 " move.w -(%1),-(%0) ; subqw #2,%2 ; jra 2f\n" in fb_memmove()
197 "1: lsr.l #1,%3 ; jcc 2f\n" in fb_memmove()
198 " move.w -(%1),-(%0) ; subqw #2,%2\n" in fb_memmove()
199 "2: move.w %2,%-; lsr.l #2,%2 ; jeq 6f\n" in fb_memmove()
200 " lsr.l #1,%2 ; jcc 3f ; move.l -(%1),-(%0)\n" in fb_memmove()
201 "3: lsr.l #1,%2 ; jcc 4f ; move.l -(%1),-(%0) ; move.l -(%1),-(%0)\n" in fb_memmove()
202 "4: subq.l #1,%2 ; jcs 6f\n" in fb_memmove()
203 "5: move.l -(%1),-(%0); move.l -(%1),-(%0)\n" in fb_memmove()
204 " move.l -(%1),-(%0); move.l -(%1),-(%0)\n" in fb_memmove()
206 "6: move.w %+,%2; btst #1,%2 ; jeq 7f ; move.w -(%1),-(%0)\n" in fb_memmove()
207 "7: btst #0,%2 ; jeq 8f ; move.b -(%1),-(%0)\n" in fb_memmove()
209 : "=a" (d), "=a" (s), "=d" (count), "=d" (tmp) in fb_memmove()
232 : "=a" (src), "=a" (dst), "=d" (size) in fast_memmove()
233 : "0" (src), "1" (dst), "2" (size / 16 - 1) in fast_memmove()
239 " movem.l %%d0/%%d1/%%a0/%%a1,-(%1)\n" in fast_memmove()
243 : "=a" (src), "=a" (dst), "=d" (size) in fast_memmove()
244 : "0" (src + size), "1" (dst + size), "2" (size / 16 - 1) in fast_memmove()
251 * This expands a up to 8 bit color into two longs
278 * set an 8bit value to a color
370 rows--; in fill16_col()
396 } while (--h); in memmove32_col()