Lines Matching +full:low +full:- +full:latency
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
66 lda t2, -1 # E : build a mask against false zero
106 the end-of-count bit is set in t8 iff it applies.
113 negq t8, t12 # E : find low bit set
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
194 t1 == the shifted low bits of the first source word
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)
242 t0 == the shifted low-order bits from the current source word
243 t1 == the shifted high-order bits from the previous source word
252 extql t2, a1, t1 # U : extract low bits for next time
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
260 extqh t2, a1, t0 # U : extract low bits (2 cycle stall)
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)
296 negq t8, t6 # E : isolate low bit set
312 ret (t9) # L0 : Latency=3
314 /* Got to end-of-count before end of string.
316 t1 == the shifted high-order bits from the previous source word */
325 extqh t2, a1, t0 # U : extract low bits for last word (stall)
331 $u_eocfin: # end-of-count, final word
333 br $u_final # L0 : Latency=3
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