The intention is described in the [[ http://infocenter.arm.com/help/topic/com.arm.doc.ihi0053c/IHI0053C_acle_2_0.pdf | ACLE documentation ]]. Mainly it is for code portability across different compilers and different ARM architecture variants. http://reviews.llvm.org/D4296