Miscellaneous; Dspf_Sp_Blk_Move - Texas Instruments TMS320C67 DSP Series Programmer's Reference Manual

Library
Hide thumbs Also See for TMS320C67 DSP Series:
Table of Contents

Advertisement

4.7 Miscellaneous

DSPF_sp_blk_move

Function
Arguments
Description
Algorithm
Special Requirements
Implementation Notes
Benchmarks
Single-precision block move
void DSPF_sp_blk_move (const float * x, float *restrict r, int nx)
x[nx]
Pointer to source data to be moved.
r[nx]
Pointer to destination array.
nx
Number of floats to move.
This routine moves nx floats from one memory location pointed to by x to
another pointed to by r.
This is the C equivalent of the assembly code. Note that the assembly code
is hand optimized and restrictions may apply.
void DSPF_sp_blk_move(const float * x, float *restrict r, int
nx)
{
int i;
for (i = 0 ; i < nx; i++)
r[i] = x[i];
}
-
nx is greater than 0.
-
If nx is odd then x and r should be padded with 1 word.
-
x and r are double-word aligned.
-
The loop is unrolled twice.
-
Cache touching is used to remove the Write Buffer Full problem.
-
Endianess: This implementation is little endian.
-
Interruptibility: This code is interrupt-tolerant but not interruptible.
Cycles
2*ceil(nx/2)+7
For nx=64, cycles=71
For nx=25, cycles=33
Code size
128
(in bytes)
DSPF_sp_blk_move
DSPLIB Reference
4-69

Hide quick links:

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the TMS320C67 DSP Series and is the answer not in the manual?

Questions and answers

Table of Contents