@@ -223,7 +223,7 @@ TEST(ParseArchString, AcceptsSupportedBaseISAsAndSetsXLenAndFLen) {
223
223
ASSERT_THAT_EXPECTED (MaybeRV32G, Succeeded ());
224
224
RISCVISAInfo &InfoRV32G = **MaybeRV32G;
225
225
const auto &ExtsRV32G = InfoRV32G.getExtensions ();
226
- EXPECT_EQ (ExtsRV32G.size (), 8UL );
226
+ EXPECT_EQ (ExtsRV32G.size (), 10UL );
227
227
EXPECT_TRUE (ExtsRV32G.at (" i" ) == (RISCVISAUtils::ExtensionVersion{2 , 1 }));
228
228
EXPECT_TRUE (ExtsRV32G.at (" m" ) == (RISCVISAUtils::ExtensionVersion{2 , 0 }));
229
229
EXPECT_TRUE (ExtsRV32G.at (" a" ) == (RISCVISAUtils::ExtensionVersion{2 , 1 }));
@@ -233,6 +233,8 @@ TEST(ParseArchString, AcceptsSupportedBaseISAsAndSetsXLenAndFLen) {
233
233
EXPECT_TRUE (ExtsRV32G.at (" zifencei" ) ==
234
234
(RISCVISAUtils::ExtensionVersion{2 , 0 }));
235
235
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 }));
236
238
EXPECT_EQ (InfoRV32G.getXLen (), 32U );
237
239
EXPECT_EQ (InfoRV32G.getFLen (), 64U );
238
240
EXPECT_EQ (InfoRV32G.getMinVLen (), 0U );
@@ -267,7 +269,7 @@ TEST(ParseArchString, AcceptsSupportedBaseISAsAndSetsXLenAndFLen) {
267
269
ASSERT_THAT_EXPECTED (MaybeRV64G, Succeeded ());
268
270
RISCVISAInfo &InfoRV64G = **MaybeRV64G;
269
271
const auto &ExtsRV64G = InfoRV64G.getExtensions ();
270
- EXPECT_EQ (ExtsRV64G.size (), 8UL );
272
+ EXPECT_EQ (ExtsRV64G.size (), 10UL );
271
273
EXPECT_TRUE (ExtsRV64G.at (" i" ) == (RISCVISAUtils::ExtensionVersion{2 , 1 }));
272
274
EXPECT_TRUE (ExtsRV64G.at (" m" ) == (RISCVISAUtils::ExtensionVersion{2 , 0 }));
273
275
EXPECT_TRUE (ExtsRV64G.at (" a" ) == (RISCVISAUtils::ExtensionVersion{2 , 1 }));
@@ -277,6 +279,8 @@ TEST(ParseArchString, AcceptsSupportedBaseISAsAndSetsXLenAndFLen) {
277
279
EXPECT_TRUE (ExtsRV64G.at (" zifencei" ) ==
278
280
(RISCVISAUtils::ExtensionVersion{2 , 0 }));
279
281
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 }));
280
284
EXPECT_EQ (InfoRV64G.getXLen (), 64U );
281
285
EXPECT_EQ (InfoRV64G.getFLen (), 64U );
282
286
EXPECT_EQ (InfoRV64G.getMinVLen (), 0U );
@@ -287,7 +291,7 @@ TEST(ParseArchString, AcceptsSupportedBaseISAsAndSetsXLenAndFLen) {
287
291
ASSERT_THAT_EXPECTED (MaybeRV64GCV, Succeeded ());
288
292
RISCVISAInfo &InfoRV64GCV = **MaybeRV64GCV;
289
293
const auto &ExtsRV64GCV = InfoRV64GCV.getExtensions ();
290
- EXPECT_EQ (ExtsRV64GCV.size (), 18UL );
294
+ EXPECT_EQ (ExtsRV64GCV.size (), 20UL );
291
295
EXPECT_TRUE (ExtsRV64GCV.at (" i" ) == (RISCVISAUtils::ExtensionVersion{2 , 1 }));
292
296
EXPECT_TRUE (ExtsRV64GCV.at (" m" ) == (RISCVISAUtils::ExtensionVersion{2 , 0 }));
293
297
EXPECT_TRUE (ExtsRV64GCV.at (" a" ) == (RISCVISAUtils::ExtensionVersion{2 , 1 }));
@@ -298,6 +302,8 @@ TEST(ParseArchString, AcceptsSupportedBaseISAsAndSetsXLenAndFLen) {
298
302
EXPECT_TRUE (ExtsRV64GCV.at (" zifencei" ) ==
299
303
(RISCVISAUtils::ExtensionVersion{2 , 0 }));
300
304
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 }));
301
307
EXPECT_TRUE (ExtsRV64GCV.at (" v" ) == (RISCVISAUtils::ExtensionVersion{1 , 0 }));
302
308
EXPECT_TRUE (ExtsRV64GCV.at (" zve32x" ) == (RISCVISAUtils::ExtensionVersion{1 , 0 }));
303
309
EXPECT_TRUE (ExtsRV64GCV.at (" zve32f" ) == (RISCVISAUtils::ExtensionVersion{1 , 0 }));
@@ -379,7 +385,7 @@ TEST(ParseArchString, AcceptsUnderscoreSplittingExtensions) {
379
385
auto MaybeISAInfo = RISCVISAInfo::parseArchString (Input, true );
380
386
ASSERT_THAT_EXPECTED (MaybeISAInfo, Succeeded ());
381
387
const auto &Exts = (*MaybeISAInfo)->getExtensions ();
382
- EXPECT_EQ (Exts.size (), 9UL );
388
+ EXPECT_EQ (Exts.size (), 11UL );
383
389
EXPECT_EQ (Exts.count (" i" ), 1U );
384
390
EXPECT_EQ (Exts.count (" m" ), 1U );
385
391
EXPECT_EQ (Exts.count (" a" ), 1U );
@@ -389,6 +395,8 @@ TEST(ParseArchString, AcceptsUnderscoreSplittingExtensions) {
389
395
EXPECT_EQ (Exts.count (" zicsr" ), 1U );
390
396
EXPECT_EQ (Exts.count (" zifencei" ), 1U );
391
397
EXPECT_EQ (Exts.count (" zmmul" ), 1U );
398
+ EXPECT_EQ (Exts.count (" zaamo" ), 1U );
399
+ EXPECT_EQ (Exts.count (" zalrsc" ), 1U );
392
400
}
393
401
}
394
402
@@ -398,14 +406,16 @@ TEST(ParseArchString, AcceptsRelaxSingleLetterExtensions) {
398
406
auto MaybeISAInfo = RISCVISAInfo::parseArchString (Input, true );
399
407
ASSERT_THAT_EXPECTED (MaybeISAInfo, Succeeded ());
400
408
const auto &Exts = (*MaybeISAInfo)->getExtensions ();
401
- EXPECT_EQ (Exts.size (), 7UL );
409
+ EXPECT_EQ (Exts.size (), 9UL );
402
410
EXPECT_EQ (Exts.count (" i" ), 1U );
403
411
EXPECT_EQ (Exts.count (" m" ), 1U );
404
412
EXPECT_EQ (Exts.count (" f" ), 1U );
405
413
EXPECT_EQ (Exts.count (" a" ), 1U );
406
414
EXPECT_EQ (Exts.count (" d" ), 1U );
407
415
EXPECT_EQ (Exts.count (" zicsr" ), 1U );
408
416
EXPECT_EQ (Exts.count (" zmmul" ), 1U );
417
+ EXPECT_EQ (Exts.count (" zaamo" ), 1U );
418
+ EXPECT_EQ (Exts.count (" zalrsc" ), 1U );
409
419
}
410
420
}
411
421
@@ -416,7 +426,7 @@ TEST(ParseArchString, AcceptsRelaxMixedLetterExtensions) {
416
426
auto MaybeISAInfo = RISCVISAInfo::parseArchString (Input, true );
417
427
ASSERT_THAT_EXPECTED (MaybeISAInfo, Succeeded ());
418
428
const auto &Exts = (*MaybeISAInfo)->getExtensions ();
419
- EXPECT_EQ (Exts.size (), 9UL );
429
+ EXPECT_EQ (Exts.size (), 11UL );
420
430
EXPECT_EQ (Exts.count (" i" ), 1U );
421
431
EXPECT_EQ (Exts.count (" m" ), 1U );
422
432
EXPECT_EQ (Exts.count (" a" ), 1U );
@@ -426,6 +436,8 @@ TEST(ParseArchString, AcceptsRelaxMixedLetterExtensions) {
426
436
EXPECT_EQ (Exts.count (" svinval" ), 1U );
427
437
EXPECT_EQ (Exts.count (" zicsr" ), 1U );
428
438
EXPECT_EQ (Exts.count (" zmmul" ), 1U );
439
+ EXPECT_EQ (Exts.count (" zaamo" ), 1U );
440
+ EXPECT_EQ (Exts.count (" zalrsc" ), 1U );
429
441
}
430
442
}
431
443
@@ -445,12 +457,14 @@ TEST(ParseArchString, AcceptsAmbiguousFromRelaxExtensions) {
445
457
auto MaybeISAInfo = RISCVISAInfo::parseArchString (Input, true );
446
458
ASSERT_THAT_EXPECTED (MaybeISAInfo, Succeeded ());
447
459
const auto &Exts = (*MaybeISAInfo)->getExtensions ();
448
- EXPECT_EQ (Exts.size (), 5UL );
460
+ EXPECT_EQ (Exts.size (), 7UL );
449
461
EXPECT_EQ (Exts.count (" i" ), 1U );
450
462
EXPECT_EQ (Exts.count (" zba" ), 1U );
451
463
EXPECT_EQ (Exts.count (" m" ), 1U );
452
464
EXPECT_EQ (Exts.count (" a" ), 1U );
453
465
EXPECT_EQ (Exts.count (" zmmul" ), 1U );
466
+ EXPECT_EQ (Exts.count (" zaamo" ), 1U );
467
+ EXPECT_EQ (Exts.count (" zalrsc" ), 1U );
454
468
}
455
469
}
456
470
@@ -681,7 +695,7 @@ TEST(ParseArchString, AcceptsBareProfileNames) {
681
695
auto MaybeRVA20U64 = RISCVISAInfo::parseArchString (" rva20u64" , true );
682
696
ASSERT_THAT_EXPECTED (MaybeRVA20U64, Succeeded ());
683
697
const auto &Exts = (*MaybeRVA20U64)->getExtensions ();
684
- EXPECT_EQ (Exts.size (), 14UL );
698
+ EXPECT_EQ (Exts.size (), 16UL );
685
699
EXPECT_EQ (Exts.count (" i" ), 1U );
686
700
EXPECT_EQ (Exts.count (" m" ), 1U );
687
701
EXPECT_EQ (Exts.count (" f" ), 1U );
@@ -696,6 +710,8 @@ TEST(ParseArchString, AcceptsBareProfileNames) {
696
710
EXPECT_EQ (Exts.count (" ziccamoa" ), 1U );
697
711
EXPECT_EQ (Exts.count (" zicclsm" ), 1U );
698
712
EXPECT_EQ (Exts.count (" zmmul" ), 1U );
713
+ EXPECT_EQ (Exts.count (" zaamo" ), 1U );
714
+ EXPECT_EQ (Exts.count (" zalrsc" ), 1U );
699
715
700
716
auto MaybeRVA23U64 = RISCVISAInfo::parseArchString (" rva23u64" , true );
701
717
ASSERT_THAT_EXPECTED (MaybeRVA23U64, Succeeded ());
0 commit comments