In response to a question on this blog, here are a bunch of ARM/NEON/SIMD resources that I have accrued in my bookmarks over the last few months.
There are essentially three approaches in GCC, which trade off power/flexibilty for ease of use.
- Assembly (standalone, or inline).
- Compiler intrinsics, and
- “Automatic” compiler vectorization.
The first link explains the differences:
- Introduction to NEON/SIMD programming (PDF).
- NEON intrinsics implementation in GCC.
- Using inline assembly (extended) with GCC.
- General SIMD programming using GCC.
- Cortex Processor hardware in the ARM Information Center.
- NEON/VFP on Cortex, also in the ARM Information Center.
Happy reading, and let me know if you find anything else useful.
There is also a section of the book: “Unique chips” (altough it looks like a lot of infos are from http://infocenter.arm.com/):
http://books.google.com/books?id=RBmvxQ9BV6wC&printsec=frontcover&source=gbs_v2_summary_r&cad=0#v=onepage&q=&f=false