The following are GCC predefined macros for ARM.
| Predefined Macro | Description |
|---|---|
| __arm__ | Always on for gcc arm. |
| __APCS_32 | Always on for gcc arm. |
| __thumb__ | Thumb is on. |
| __thumb2__ | Thumb2 is on. |
| __ARMEB__ | ARM big endian mode. |
| __ARMEL__ | ARM little endian mode. |
| __THUMBEB__ | Thumb big endian mode. |
| __THUMBEL__ | Thumb little endian mode. |
| __SOFTFP__ | Soft fp enabled. |
| __VFP_FP__ | vfpu enabled. |
| __ARM_NEON__ | ARM NEON enabled. |
| __THUMB_INTERWORK__ | Interworking enabled. |
| __ARM_EABI__ | Targeting arm aeabi |
| __ARM_ARCH_6M__ | Targeting v6m architecture (cortex-m0) |
| __ARM_ARCH_7M__ | Targeting v7m architecture (cortex-m4) |