Там нет никакого стандарта между компиляторами, но каждый компилятор имеет тенденцию быть достаточно последовательным. Вы можете создать для себя заголовок, примерно такой:
#if MSVC
#ifdef _M_X86
#define ARCH_X86
#endif
#endif
#if GCC
#ifdef __i386__
#define ARCH_X86
#endif
#endif
Нет большого смысла в исчерпывающем списке, потому что есть тысячи компиляторов, но только 3-4 широко используются (Microsoft C ++, GCC, Intel CC, возможно, TenDRA?). Просто решите, какие компиляторы будут поддерживать ваше приложение, перечислите их #defines и обновите ваш заголовок по мере необходимости.