Lines Matching +full:entry +full:- +full:latency +full:- +full:us

1 /* SPDX-License-Identifier: GPL-2.0 */
3 * arch/alpha/lib/ev6-stxncpy.S
4 * 21264 version contributed by Rick Gorton <rick.gorton@api-networks.com>
6 * Copy no more than COUNT bytes of the null-terminated string from
29 * Furthermore, v0, a3-a5, t11, and $at are untouched.
34 * ftp.digital.com/pub/Digital/info/semiconductor/literature/dsc-library.html
36 * E - either cluster
37 * U - upper subcluster; U0 - subcluster U0; U1 - subcluster U1
38 * L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
50 doesn't like putting the entry point for a procedure somewhere in the
61 /* On entry to this basic block:
66 lda t2, -1 # E : build a mask against false zero
81 /* On entry to this basic block:
106 the end-of-count bit is set in t8 iff it applies.
108 On entry to this basic block we have:
133 ret (t9) # L0 : Latency=3
137 /* Add the end-of-count bit to the eos detection bitmask. */
140 br $a_eos # L0 : Latency=3
153 /* Are source and destination co-aligned? */
161 srl a2, 3, a2 # U : a2 = loop counter = (count - 1)/8 (stall)
166 /* We are co-aligned; take care of a partial first word. */
182 /* The source and destination are not co-aligned. Align the destination
190 that prevents us from outputting the whole thing.
192 On entry to this basic block:
195 t6 == bytemask that is -1 in dest word bytes */
197 ldq_u t2, 8(a1) # L : Latency=3 load second src word
209 lda t6, -1 # E :
224 extql t2, a1, t1 # U : position hi-bits of lo word
226 ldq_u t2, 8(a1) # L : read next high-order source word
229 extqh t2, a1, t0 # U : position lo-bits of hi word (stall)
241 On entry to this basic block:
242 t0 == the shifted low-order bits from the current source word
243 t1 == the shifted high-order bits from the previous source word
255 stq_u t0, -8(a0) # U : save the current word
257 ldq_u t2, 8(a1) # U : Latency=3 load high word for next time
270 On entry to this basic block:
271 t0 == the shifted low-order bits from the current source word
272 t1 == the shifted high-order bits from the previous source word
280 stq_u t0, 0(a0) # L : the null was in the high-order bits
289 cmoveq a2, t6, t8 # E : Latency=2, extra map slot (stall)
292 On entry to this basic block:
312 ret (t9) # L0 : Latency=3
314 /* Got to end-of-count before end of string.
315 On entry to this basic block:
316 t1 == the shifted high-order bits from the previous source word */
331 $u_eocfin: # end-of-count, final word
333 br $u_final # L0 : Latency=3
335 /* Unaligned copy entry point. */
349 lda t6, -1 # E :
361 lda t2, -1 # E : for creating masks later
367 or t8, t10, t5 # E : test for end-of-count too
370 cmoveq a2, t5, t8 # E : Latency=2, extra map slot
393 ret (t9) # L0 : Latency=3