Arm Community
Site
Search
User
Site
Search
User
Forums
Arm Development Studio forum
NEON conditional execution
Jump...
Cancel
Locked
Locked
Replies
10 replies
Subscribers
118 subscribers
Views
8372 views
Users
0 members are here
Options
Share
More actions
Cancel
Related
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
Laurent Ovaert
over 12 years ago
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
Marcus Harnisch
over 12 years ago
Note: This was originally posted on 17th February 2012 at
http://forums.arm.com
This untested sequence should do what you want. Depending on the greater context you may be able to reuse some registers.
; Q0 = Q0 + Q1
VADD.U16 q0, q0, q1
; if (Q0 >= Q2) Q0 = Q3
VCGE.U16 q4, q0, q2
VBIT q0, q3, q4
--
Marcus
Cancel
Vote up
0
Vote down
Cancel
Reply
Marcus Harnisch
over 12 years ago
Note: This was originally posted on 17th February 2012 at
http://forums.arm.com
This untested sequence should do what you want. Depending on the greater context you may be able to reuse some registers.
; Q0 = Q0 + Q1
VADD.U16 q0, q0, q1
; if (Q0 >= Q2) Q0 = Q3
VCGE.U16 q4, q0, q2
VBIT q0, q3, q4
--
Marcus
Cancel
Vote up
0
Vote down
Cancel
Children
No data