@@ -223,7 +223,7 @@ TEST(ParseArchString, AcceptsSupportedBaseISAsAndSetsXLenAndFLen) {
223223 ASSERT_THAT_EXPECTED (MaybeRV32G, Succeeded ());
224224 RISCVISAInfo &InfoRV32G = **MaybeRV32G;
225225 const auto &ExtsRV32G = InfoRV32G.getExtensions ();
226- EXPECT_EQ (ExtsRV32G.size (), 8UL );
226+ EXPECT_EQ (ExtsRV32G.size (), 10UL );
227227 EXPECT_TRUE (ExtsRV32G.at (" i" ) == (RISCVISAUtils::ExtensionVersion{2 , 1 }));
228228 EXPECT_TRUE (ExtsRV32G.at (" m" ) == (RISCVISAUtils::ExtensionVersion{2 , 0 }));
229229 EXPECT_TRUE (ExtsRV32G.at (" a" ) == (RISCVISAUtils::ExtensionVersion{2 , 1 }));
@@ -233,6 +233,8 @@ TEST(ParseArchString, AcceptsSupportedBaseISAsAndSetsXLenAndFLen) {
233233 EXPECT_TRUE (ExtsRV32G.at (" zifencei" ) ==
234234 (RISCVISAUtils::ExtensionVersion{2 , 0 }));
235235 EXPECT_TRUE (ExtsRV32G.at (" zmmul" ) == (RISCVISAUtils::ExtensionVersion{1 , 0 }));
236+ EXPECT_TRUE (ExtsRV32G.at (" zaamo" ) == (RISCVISAUtils::ExtensionVersion{1 , 0 }));
237+ EXPECT_TRUE (ExtsRV32G.at (" zalrsc" ) == (RISCVISAUtils::ExtensionVersion{1 , 0 }));
236238 EXPECT_EQ (InfoRV32G.getXLen (), 32U );
237239 EXPECT_EQ (InfoRV32G.getFLen (), 64U );
238240 EXPECT_EQ (InfoRV32G.getMinVLen (), 0U );
@@ -267,7 +269,7 @@ TEST(ParseArchString, AcceptsSupportedBaseISAsAndSetsXLenAndFLen) {
267269 ASSERT_THAT_EXPECTED (MaybeRV64G, Succeeded ());
268270 RISCVISAInfo &InfoRV64G = **MaybeRV64G;
269271 const auto &ExtsRV64G = InfoRV64G.getExtensions ();
270- EXPECT_EQ (ExtsRV64G.size (), 8UL );
272+ EXPECT_EQ (ExtsRV64G.size (), 10UL );
271273 EXPECT_TRUE (ExtsRV64G.at (" i" ) == (RISCVISAUtils::ExtensionVersion{2 , 1 }));
272274 EXPECT_TRUE (ExtsRV64G.at (" m" ) == (RISCVISAUtils::ExtensionVersion{2 , 0 }));
273275 EXPECT_TRUE (ExtsRV64G.at (" a" ) == (RISCVISAUtils::ExtensionVersion{2 , 1 }));
@@ -277,6 +279,8 @@ TEST(ParseArchString, AcceptsSupportedBaseISAsAndSetsXLenAndFLen) {
277279 EXPECT_TRUE (ExtsRV64G.at (" zifencei" ) ==
278280 (RISCVISAUtils::ExtensionVersion{2 , 0 }));
279281 EXPECT_TRUE (ExtsRV64G.at (" zmmul" ) == (RISCVISAUtils::ExtensionVersion{1 , 0 }));
282+ EXPECT_TRUE (ExtsRV64G.at (" zaamo" ) == (RISCVISAUtils::ExtensionVersion{1 , 0 }));
283+ EXPECT_TRUE (ExtsRV64G.at (" zalrsc" ) == (RISCVISAUtils::ExtensionVersion{1 , 0 }));
280284 EXPECT_EQ (InfoRV64G.getXLen (), 64U );
281285 EXPECT_EQ (InfoRV64G.getFLen (), 64U );
282286 EXPECT_EQ (InfoRV64G.getMinVLen (), 0U );
@@ -287,7 +291,7 @@ TEST(ParseArchString, AcceptsSupportedBaseISAsAndSetsXLenAndFLen) {
287291 ASSERT_THAT_EXPECTED (MaybeRV64GCV, Succeeded ());
288292 RISCVISAInfo &InfoRV64GCV = **MaybeRV64GCV;
289293 const auto &ExtsRV64GCV = InfoRV64GCV.getExtensions ();
290- EXPECT_EQ (ExtsRV64GCV.size (), 18UL );
294+ EXPECT_EQ (ExtsRV64GCV.size (), 20UL );
291295 EXPECT_TRUE (ExtsRV64GCV.at (" i" ) == (RISCVISAUtils::ExtensionVersion{2 , 1 }));
292296 EXPECT_TRUE (ExtsRV64GCV.at (" m" ) == (RISCVISAUtils::ExtensionVersion{2 , 0 }));
293297 EXPECT_TRUE (ExtsRV64GCV.at (" a" ) == (RISCVISAUtils::ExtensionVersion{2 , 1 }));
@@ -298,6 +302,8 @@ TEST(ParseArchString, AcceptsSupportedBaseISAsAndSetsXLenAndFLen) {
298302 EXPECT_TRUE (ExtsRV64GCV.at (" zifencei" ) ==
299303 (RISCVISAUtils::ExtensionVersion{2 , 0 }));
300304 EXPECT_TRUE (ExtsRV64G.at (" zmmul" ) == (RISCVISAUtils::ExtensionVersion{1 , 0 }));
305+ EXPECT_TRUE (ExtsRV64G.at (" zaamo" ) == (RISCVISAUtils::ExtensionVersion{1 , 0 }));
306+ EXPECT_TRUE (ExtsRV64G.at (" zalrsc" ) == (RISCVISAUtils::ExtensionVersion{1 , 0 }));
301307 EXPECT_TRUE (ExtsRV64GCV.at (" v" ) == (RISCVISAUtils::ExtensionVersion{1 , 0 }));
302308 EXPECT_TRUE (ExtsRV64GCV.at (" zve32x" ) == (RISCVISAUtils::ExtensionVersion{1 , 0 }));
303309 EXPECT_TRUE (ExtsRV64GCV.at (" zve32f" ) == (RISCVISAUtils::ExtensionVersion{1 , 0 }));
@@ -379,7 +385,7 @@ TEST(ParseArchString, AcceptsUnderscoreSplittingExtensions) {
379385 auto MaybeISAInfo = RISCVISAInfo::parseArchString (Input, true );
380386 ASSERT_THAT_EXPECTED (MaybeISAInfo, Succeeded ());
381387 const auto &Exts = (*MaybeISAInfo)->getExtensions ();
382- EXPECT_EQ (Exts.size (), 9UL );
388+ EXPECT_EQ (Exts.size (), 11UL );
383389 EXPECT_EQ (Exts.count (" i" ), 1U );
384390 EXPECT_EQ (Exts.count (" m" ), 1U );
385391 EXPECT_EQ (Exts.count (" a" ), 1U );
@@ -389,6 +395,8 @@ TEST(ParseArchString, AcceptsUnderscoreSplittingExtensions) {
389395 EXPECT_EQ (Exts.count (" zicsr" ), 1U );
390396 EXPECT_EQ (Exts.count (" zifencei" ), 1U );
391397 EXPECT_EQ (Exts.count (" zmmul" ), 1U );
398+ EXPECT_EQ (Exts.count (" zaamo" ), 1U );
399+ EXPECT_EQ (Exts.count (" zalrsc" ), 1U );
392400 }
393401}
394402
@@ -398,14 +406,16 @@ TEST(ParseArchString, AcceptsRelaxSingleLetterExtensions) {
398406 auto MaybeISAInfo = RISCVISAInfo::parseArchString (Input, true );
399407 ASSERT_THAT_EXPECTED (MaybeISAInfo, Succeeded ());
400408 const auto &Exts = (*MaybeISAInfo)->getExtensions ();
401- EXPECT_EQ (Exts.size (), 7UL );
409+ EXPECT_EQ (Exts.size (), 9UL );
402410 EXPECT_EQ (Exts.count (" i" ), 1U );
403411 EXPECT_EQ (Exts.count (" m" ), 1U );
404412 EXPECT_EQ (Exts.count (" f" ), 1U );
405413 EXPECT_EQ (Exts.count (" a" ), 1U );
406414 EXPECT_EQ (Exts.count (" d" ), 1U );
407415 EXPECT_EQ (Exts.count (" zicsr" ), 1U );
408416 EXPECT_EQ (Exts.count (" zmmul" ), 1U );
417+ EXPECT_EQ (Exts.count (" zaamo" ), 1U );
418+ EXPECT_EQ (Exts.count (" zalrsc" ), 1U );
409419 }
410420}
411421
@@ -416,7 +426,7 @@ TEST(ParseArchString, AcceptsRelaxMixedLetterExtensions) {
416426 auto MaybeISAInfo = RISCVISAInfo::parseArchString (Input, true );
417427 ASSERT_THAT_EXPECTED (MaybeISAInfo, Succeeded ());
418428 const auto &Exts = (*MaybeISAInfo)->getExtensions ();
419- EXPECT_EQ (Exts.size (), 9UL );
429+ EXPECT_EQ (Exts.size (), 11UL );
420430 EXPECT_EQ (Exts.count (" i" ), 1U );
421431 EXPECT_EQ (Exts.count (" m" ), 1U );
422432 EXPECT_EQ (Exts.count (" a" ), 1U );
@@ -426,6 +436,8 @@ TEST(ParseArchString, AcceptsRelaxMixedLetterExtensions) {
426436 EXPECT_EQ (Exts.count (" svinval" ), 1U );
427437 EXPECT_EQ (Exts.count (" zicsr" ), 1U );
428438 EXPECT_EQ (Exts.count (" zmmul" ), 1U );
439+ EXPECT_EQ (Exts.count (" zaamo" ), 1U );
440+ EXPECT_EQ (Exts.count (" zalrsc" ), 1U );
429441 }
430442}
431443
@@ -445,12 +457,14 @@ TEST(ParseArchString, AcceptsAmbiguousFromRelaxExtensions) {
445457 auto MaybeISAInfo = RISCVISAInfo::parseArchString (Input, true );
446458 ASSERT_THAT_EXPECTED (MaybeISAInfo, Succeeded ());
447459 const auto &Exts = (*MaybeISAInfo)->getExtensions ();
448- EXPECT_EQ (Exts.size (), 5UL );
460+ EXPECT_EQ (Exts.size (), 7UL );
449461 EXPECT_EQ (Exts.count (" i" ), 1U );
450462 EXPECT_EQ (Exts.count (" zba" ), 1U );
451463 EXPECT_EQ (Exts.count (" m" ), 1U );
452464 EXPECT_EQ (Exts.count (" a" ), 1U );
453465 EXPECT_EQ (Exts.count (" zmmul" ), 1U );
466+ EXPECT_EQ (Exts.count (" zaamo" ), 1U );
467+ EXPECT_EQ (Exts.count (" zalrsc" ), 1U );
454468 }
455469}
456470
@@ -681,7 +695,7 @@ TEST(ParseArchString, AcceptsBareProfileNames) {
681695 auto MaybeRVA20U64 = RISCVISAInfo::parseArchString (" rva20u64" , true );
682696 ASSERT_THAT_EXPECTED (MaybeRVA20U64, Succeeded ());
683697 const auto &Exts = (*MaybeRVA20U64)->getExtensions ();
684- EXPECT_EQ (Exts.size (), 14UL );
698+ EXPECT_EQ (Exts.size (), 16UL );
685699 EXPECT_EQ (Exts.count (" i" ), 1U );
686700 EXPECT_EQ (Exts.count (" m" ), 1U );
687701 EXPECT_EQ (Exts.count (" f" ), 1U );
@@ -696,6 +710,8 @@ TEST(ParseArchString, AcceptsBareProfileNames) {
696710 EXPECT_EQ (Exts.count (" ziccamoa" ), 1U );
697711 EXPECT_EQ (Exts.count (" zicclsm" ), 1U );
698712 EXPECT_EQ (Exts.count (" zmmul" ), 1U );
713+ EXPECT_EQ (Exts.count (" zaamo" ), 1U );
714+ EXPECT_EQ (Exts.count (" zalrsc" ), 1U );
699715
700716 auto MaybeRVA23U64 = RISCVISAInfo::parseArchString (" rva23u64" , true );
701717 ASSERT_THAT_EXPECTED (MaybeRVA23U64, Succeeded ());
0 commit comments