iPhone ARM references
June 2009: The recently announced iPhone 3GS has a different set of hardware, and the original post does not apply to this new device. The chip is suspected to be the ARM Cortex-A8, based on ARMv7 (compare with ARMv6 below). Looking at the specs it appears to have a NEON unit, which should be good news for games developers.
Well over a year ago Engadget posted a description of the (suspected) processor in the iPhone - ARM1176JZF (ARM11 family, implementing the ARMv6 instruction set). It has a VFP11 vector coprocessor for SIMD operations. It does not support NEON as some have suggested.
In my attempt to figure out how to access the SIMD operations for matrix and vector math, I’ve found these reference PDFs that might be of use to others:
- The ARM Architecture Reference Manual
- The ARM1176JZF-S Technical Reference Manual
- The Vector Floating Point Instruction Set Quick Reference Card
There’s also a (pay-for) article on the IEEE Xplore website, called “Accelerating floating-point 3D graphics for vector microprocessors”, which talks specifically about ARM VFP processors.
It may also be worth keeping an eye on this math library, which forms part of the Oolong Engine.

