This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Instruction Syntax doubts-OMAP 3530 Intrinsics

Hi

i am facing a syntax error.

vst1.u64   {d0-d1},[r0,128], r1

 this is the instruction. This version of instruction is work with gcc compiler.

but it will show some error regarding the offset given when i use a non gcc compiler.[if i delete the offset 128 it will work fine. but output location is changed]

when i search the instruction format there is a syntax like above is not available.

the instruction reference is got from this link :: http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html

any other reference is available ?

how i add the offset to my destination address with out using the offset in vst1.u64 instruction. to correct my output values.

 

Dave

 

 

 

  • Hi Dave,

    In order to answer this we need to know which tool you are trying to use (not using GCC)? One idea might be to try to add a "#" in from of the "128", but there is no guarantee that this will work better - Normally the exact semantics of the instructions is highly tool chain dependent. In your case I would check the manual of your tool, which should give you and explanation of the exact semantics...

    Best regards - Good luck
      Søren

  • Dear Soren,

    Thanks to your replay. I am using rvds compiler and assembler. but when i check the instruction manuel of cortex-a8 available in arm tutorials the syntax is not supporting

    with an offset. I think i can manually add the offset to the destination address. But i have a doubt.

    vst1.u64 {d0-d1},[r0, #128],r1 -> Original Version

    add r0,r0,#128

    vst1.u64 {d0-d1},[r0],r1

    can i get a correct result for above replacement.

    psuedo code of the instruction as given below.

    1. Add the offset to the destination address.

    2. store the data from the new address.

    3. the result address of the destination is r0 + 128 + r1

    but

    add r0,r0,#128

    vst1.u64 {d0-d1},[r0]

    sub r0,r0,#128

    add r0, r0,r1

    in this version the resultant address at r0 + r1 and data at r0 + 128

    please help me to choose which version can get the correct meaning of the original instruction .

     

    Thanks

    Dave

     

     

  • HI DAVE did u get the solution for the above error?