minimal feature bits. */
RISCV_EXT_BITMASK ("i", 0, 8)
+RISCV_EXT_BITMASK ("e", 0, 4)
RISCV_EXT_BITMASK ("m", 0, 12)
+RISCV_EXT_BITMASK ("zmmul", 1, 12)
RISCV_EXT_BITMASK ("a", 0, 0)
RISCV_EXT_BITMASK ("f", 0, 5)
RISCV_EXT_BITMASK ("d", 0, 3)
RISCV_EXT_BITMASK ("c", 0, 2)
+RISCV_EXT_BITMASK ("h", 0, 7)
RISCV_EXT_BITMASK ("v", 0, 21)
+RISCV_EXT_BITMASK ("b", 0, 1)
RISCV_EXT_BITMASK ("zba", 0, 27)
RISCV_EXT_BITMASK ("zbb", 0, 28)
RISCV_EXT_BITMASK ("zbs", 0, 33)
RISCV_EXT_BITMASK ("zcf", 1, 5)
RISCV_EXT_BITMASK ("zcmop", 1, 6)
RISCV_EXT_BITMASK ("zawrs", 1, 7)
+RISCV_EXT_BITMASK ("zilsd", 1, 8)
+RISCV_EXT_BITMASK ("zclsd", 1, 9)
+RISCV_EXT_BITMASK ("zcmp", 1, 10)
+RISCV_EXT_BITMASK ("zifencei", 1, 11)
#undef RISCV_EXT_BITMASK
#define A_GROUPID 0
#define A_BITMASK (1ULL << 0)
+#define B_GROUPID 0
+#define B_BITMASK (1ULL << 1)
#define C_GROUPID 0
#define C_BITMASK (1ULL << 2)
#define D_GROUPID 0
#define D_BITMASK (1ULL << 3)
+#define E_GROUPID 0
+#define E_BITMASK (1ULL << 4)
#define F_GROUPID 0
#define F_BITMASK (1ULL << 5)
+#define H_GROUPID 0
+#define H_BITMASK (1ULL << 7)
#define I_GROUPID 0
#define I_BITMASK (1ULL << 8)
#define M_GROUPID 0
#define ZCMOP_BITMASK (1ULL << 6)
#define ZAWRS_GROUPID 1
#define ZAWRS_BITMASK (1ULL << 7)
+#define ZILSD_GROUPID 1
+#define ZILSD_BITMASK (1ULL << 8)
+#define ZCLSD_GROUPID 1
+#define ZCLSD_BITMASK (1ULL << 9)
+#define ZCMP_GROUPID 1
+#define ZCMP_BITMASK (1ULL << 10)
+#define ZIFENCEI_GROUPID 1
+#define ZIFENCEI_BITMASK (1ULL << 11)
+#define ZMMUL_GROUPID 1
+#define ZMMUL_BITMASK (1ULL << 12)
#define SET_EXT(EXT) features[EXT##_GROUPID] |= EXT##_BITMASK