Прежде всего, вам не нужно предотвращать их компиляцию , вам нужно предотвращать их выполнение. В конце концов, сбой происходит во время выполнения, а не во время компиляции.
Тем не менее, самый простой способ сделать это - иметь два пути кода и скомпилировать соответствующий раздел на основе архитектуры:
#if defined _ARM_ARCH_7
// your armv7 implementation goes here
#elif defined _ARM_ARCH_6
// your armv6 implementation goes here
#elif defined __i386__
// a simulator implementation could go here, if you had one
#else
#error Unknown Architecture!
#endif