Share this story

The latest source code for the LLVM-based compiler Clang—the default compiler in Apple's Xcode developer tools—shows that support has recently been added for Marvell's quad-core, ARM-based Armada XP processor. Since Marvell is targeting the processor for low-power cloud computing applications, why exactly does Apple's version of Clang offer conditional support in its development tool chain?

The discovery

A developer who works on low-level ARM assembly coding for security products was the first to alert Ars that support had been added for Armada's Cortex A9-compatible processors in the latest version of Xcode (a claim that we later confirmed first-hand). The source code for a part of Clang that interprets what CPU type is being targeted for optimization includes a definition for an architecture type of "armv7k" and CPU type "pj4b". PJ4B is a specially optimized CPU design used in Marvell's quad-core Armada XP embedded processors. Source code available from the LLVM project, including Apple-specific branches, doesn't contain any reference to the Marvell design.

The source code, available from Apple's open source repository, also shows that support for the processor is only added when an "open source" flag (__OPEN_SOURCE__) is undefined. This suggests that only Apple's internally built Clang binaries can target code compilation for the Armada XP.

But why?

The question, however, is why does Apple's version of Clang have optional support for the Armada XP?

There are a couple scenarios we consider plausible. First is that Apple could be considering the Marvell for next-generation iOS devices, such as the iPad 3. NVIDIA may possibly have its "Kal-El" quad-core Tegra 3 processors shipping sometime next year, powering Android-based mobile devices with "near desktop" processing power. Marvell's Armada processors are certainly geared towards that kind of performance.

Second, Apple could be considering the Marvell as a possible low-power, battery-life-enhancing processor for the MacBook Air. Rumors from earlier this year suggested Apple might make a move to ARM, but improvements coming in Intel's next-generation Ivy Bridge and Haswell processors—built on an advanced 22nm process—could make the performance-per-watt advantage largely moot. And sticking with Intel means Apple wouldn't have to convince app developers to recompile their Mac OS X software for ARM-based Macs.

Last, and most probable in our opinion, is that Apple is using the Marvell chip in prototypes of future iOS device designs (or even an ARM-based MacBook Air that is rumored to exist somewhere inside One Infinite Loop) for testing purposes. An Armada XP-powered prototype logic board would allow iOS or Mac OS X software engineers to experiment with performance tuning and other optimizations, while Apple's hardware design team—comprised largely of former PA Semi and Intrinsity engineers—could continue working on a possible quad-core ARM design to be manufactured somewhere down the road.

The information we have so far about a rumored A5 successor, dubbed the "A6," suggests that it would mostly be a 28nm die-shrink of the current 45nm dual-core A5 processor. Still, eventually moving to the smaller process would certainly give Apple die space to add extra cores if it felt quad-core was necessary to remain competitive in the mobile device market.