This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

NEON conditional execution

Note: This was originally posted on 17th February 2012 at http://forums.arm.com

Hi, I would like to perform the following operation simultaneously on 8x16bits registers:

Q0 = Q0 + Q1
if (Q0 >= Q2) Q0 = Q3

I am not clear if this is possible to do that ?
In normal mode, I know it is since the mov can be conditional, but in SIMD I don't know.
Parents
  • Note: This was originally posted on 17th February 2012 at http://forums.arm.com


    It seems not as efficient as if it was a true conditional execution, but I don't see any other way.

    Why do you believe this to be less efficient? What would an imaginary conditional vector instruction look like? NEON works best with a continuous, linear instruction stream. Traditional conditional execution just wouldn't work. In todays processors, conditional execution is implemented quite differently from good old ARM7TDMI. Many (if not all) conditional instructions execute the same way that they would normally execute. The condition code only determines whether the result is discarded or not.

    Kindly
    Marcus
Reply
  • Note: This was originally posted on 17th February 2012 at http://forums.arm.com


    It seems not as efficient as if it was a true conditional execution, but I don't see any other way.

    Why do you believe this to be less efficient? What would an imaginary conditional vector instruction look like? NEON works best with a continuous, linear instruction stream. Traditional conditional execution just wouldn't work. In todays processors, conditional execution is implemented quite differently from good old ARM7TDMI. Many (if not all) conditional instructions execute the same way that they would normally execute. The condition code only determines whether the result is discarded or not.

    Kindly
    Marcus
Children
No data