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