@@ -1477,6 +1477,11 @@ static struct riscv_supported_ext riscv_supported_std_s_ext[] =
1477
1477
{"svnapot" , ISA_SPEC_CLASS_DRAFT , 1 , 0 , 0 },
1478
1478
{"svpbmt" , ISA_SPEC_CLASS_DRAFT , 1 , 0 , 0 },
1479
1479
{"ssqosid" , ISA_SPEC_CLASS_DRAFT , 1 , 0 , 0 },
1480
+ {"ssnpm" , ISA_SPEC_CLASS_DRAFT , 1 , 0 , 0 },
1481
+ {"smnpm" , ISA_SPEC_CLASS_DRAFT , 1 , 0 , 0 },
1482
+ {"smmpm" , ISA_SPEC_CLASS_DRAFT , 1 , 0 , 0 },
1483
+ {"sspm" , ISA_SPEC_CLASS_DRAFT , 1 , 0 , 0 },
1484
+ {"supm" , ISA_SPEC_CLASS_DRAFT , 1 , 0 , 0 },
1480
1485
{NULL , 0 , 0 , 0 , 0 }
1481
1486
};
1482
1487
@@ -2125,6 +2130,36 @@ riscv_parse_check_conflicts (riscv_parse_subset_t *rps)
2125
2130
(_ ("`xtheadvector' is conflict with the `v' extension" ));
2126
2131
no_conflict = false;
2127
2132
}
2133
+ if (riscv_lookup_subset (rps -> subset_list , "ssnpm" , & subset ) && xlen != 64 )
2134
+ {
2135
+ rps -> error_handler (_ ("rv%d does not support the `ssnpm' extension" ),
2136
+ xlen );
2137
+ no_conflict = false;
2138
+ }
2139
+ if (riscv_lookup_subset (rps -> subset_list , "smnpm" , & subset ) && xlen != 64 )
2140
+ {
2141
+ rps -> error_handler (_ ("rv%d does not support the `smnpm' extension" ),
2142
+ xlen );
2143
+ no_conflict = false;
2144
+ }
2145
+ if (riscv_lookup_subset (rps -> subset_list , "smmpm" , & subset ) && xlen != 64 )
2146
+ {
2147
+ rps -> error_handler (_ ("rv%d does not support the `smmpm' extension" ),
2148
+ xlen );
2149
+ no_conflict = false;
2150
+ }
2151
+ if (riscv_lookup_subset (rps -> subset_list , "sspm" , & subset ) && xlen != 64 )
2152
+ {
2153
+ rps -> error_handler (_ ("rv%d does not support the `sspm' extension" ),
2154
+ xlen );
2155
+ no_conflict = false;
2156
+ }
2157
+ if (riscv_lookup_subset (rps -> subset_list , "supm" , & subset ) && xlen != 64 )
2158
+ {
2159
+ rps -> error_handler (_ ("rv%d does not support the `supm' extension" ),
2160
+ xlen );
2161
+ no_conflict = false;
2162
+ }
2128
2163
2129
2164
bool support_zve = false;
2130
2165
bool support_zvl = false;
0 commit comments