Arm Community
Site
Search
User
Site
Search
User
Support forums
Arm Development Studio forum
Need help in GCC intrinsics for NEON
Jump...
Cancel
Locked
Locked
Replies
3 replies
Subscribers
118 subscribers
Views
4391 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
Need help in GCC intrinsics for NEON
Kiran Kumar
over 12 years ago
Note: This was originally posted on 4th April 2012 at
http://forums.arm.com
Hi All,
Can somebody tell me what are the equivalent GCC and ARM intrinsics for generating the below NEON ASM statements?
vld3.16 {d0,d2,d4},[r0]!
vld3.16 {d1,d3,d5},[r0]!
Thanks,
Kiran
Parents
Peter Harris
over 12 years ago
Note: This was originally posted on 10th April 2012 at
http://forums.arm.com
Half the point of intrinsics is that they hide register allocation as it's a good thing for the compiler to handle, and closely tied to instruction scheduling which is the other point of using them rather than asm.
I can't see a way of directly doing what you want using intrinsics - you generally have to either cast the intrinsic structure type pointers and type-pun (which is probably bad on newer compilers with strict aliasing) - or memcpy fields between them to get things in the order you want. Unfortunately compilers don't really like the aliasing of d-registers to q-registers, so this tends to be one area the code gen suffers a bit in my experience.
Cancel
Vote up
0
Vote down
Cancel
Reply
Peter Harris
over 12 years ago
Note: This was originally posted on 10th April 2012 at
http://forums.arm.com
Half the point of intrinsics is that they hide register allocation as it's a good thing for the compiler to handle, and closely tied to instruction scheduling which is the other point of using them rather than asm.
I can't see a way of directly doing what you want using intrinsics - you generally have to either cast the intrinsic structure type pointers and type-pun (which is probably bad on newer compilers with strict aliasing) - or memcpy fields between them to get things in the order you want. Unfortunately compilers don't really like the aliasing of d-registers to q-registers, so this tends to be one area the code gen suffers a bit in my experience.
Cancel
Vote up
0
Vote down
Cancel
Children
No data