1#ifndef LOONGARCH_FEATURE 2#define LOONGARCH_FEATURE(NAME, KIND) 3#endif 4 5LOONGARCH_FEATURE("+64bit", FK_64BIT) 6LOONGARCH_FEATURE("+f", FK_FP32) 7LOONGARCH_FEATURE("+d", FK_FP64) 8LOONGARCH_FEATURE("+lsx", FK_LSX) 9LOONGARCH_FEATURE("+lasx", FK_LASX) 10LOONGARCH_FEATURE("+lbt", FK_LBT) 11LOONGARCH_FEATURE("+lvz", FK_LVZ) 12LOONGARCH_FEATURE("+ual", FK_UAL) 13LOONGARCH_FEATURE("+frecipe", FK_FRECIPE) 14 15#undef LOONGARCH_FEATURE 16 17#ifndef LOONGARCH_ARCH 18#define LOONGARCH_ARCH(NAME, KIND, FEATURES) 19#endif 20 21LOONGARCH_ARCH("loongarch64", AK_LOONGARCH64, FK_64BIT | FK_FP32 | FK_FP64 | FK_UAL) 22LOONGARCH_ARCH("la464", AK_LA464, FK_64BIT | FK_FP32 | FK_FP64 | FK_LSX | FK_LASX | FK_UAL) 23LOONGARCH_ARCH("la664", AK_LA664, FK_64BIT | FK_FP32 | FK_FP64 | FK_LSX | FK_LASX | FK_UAL | FK_FRECIPE) 24 25#undef LOONGARCH_ARCH 26