Quantcast
Channel: Processors forum - Recent Threads
Viewing all articles
Browse latest Browse all 17527

How do I use STDW?

$
0
0

Hi,

Is  there a way to store two registers into a double word aligned memory location using an intrinsic of STDW? For example, in this function

void DSPF_sp_vecmul(const float * x1, const float * x2,float *restrict y, const int n)
{
    int i;    
    double x1x0, x3x2;

    _nassert((int)x1 % 8 == 0);
    _nassert((int)x2 % 8 == 0);
    _nassert(n % 2 == 0);
    _nassert(n > 0);

    #pragma MUST_ITERATE(1,,)
    for(i = 0; i < n; i+=2)
    {
        x1x0= _amemd8((void*)(x1 + i));
        x3x2= _amemd8((void*)(x2 + i));

        y[i]     = _itof(_lo(x1x0)) * _itof(_lo(x3x2));
        y[i + 1] = _itof(_hi(x1x0)) * _itof(_hi(x3x2));
    }
}

How do I utilize the STDW instruction to store the register pair to y? will it run any faster?

Thanks


Viewing all articles
Browse latest Browse all 17527

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>