tests:vsetvl: extend the test to over fractional LMUL Change-Id: Iedaaf6de965f5e2a65b1ca597070f4cfbe383d5c
diff --git a/tests/vsetvl_test.cpp b/tests/vsetvl_test.cpp index 6ea9b73..0aedb0a 100644 --- a/tests/vsetvl_test.cpp +++ b/tests/vsetvl_test.cpp
@@ -90,6 +90,31 @@ test_vsetvl(VSEW::SEW_E32, VLMUL::LMUL_M8, 32, 8.0); } +TEST(VsetvlTest, vsetvl_e8mf2) { + test_vsetvl(VSEW::SEW_E8, VLMUL::LMUL_MF2, 8, 0.5); +} + +TEST(VsetvlTest, vsetvl_e8mf4) { + test_vsetvl(VSEW::SEW_E8, VLMUL::LMUL_MF4, 8, 0.25); +} + +TEST(VsetvlTest, vsetvl_e16mf2) { + test_vsetvl(VSEW::SEW_E16, VLMUL::LMUL_MF2, 16, 0.5); +} + +// The tests pass on Renode but fail on Qemu. +TEST(VsetvlTest, DISABLED_vsetvl_e8mf8) { + test_vsetvl(VSEW::SEW_E8, VLMUL::LMUL_MF8, 8, 0.125); +} + +TEST(VsetvlTest, DISABLED_vsetvl_e16m4) { + test_vsetvl(VSEW::SEW_E16, VLMUL::LMUL_MF4, 16, 0.25); +} + +TEST(VsetvlTest, DISABLED_vsetvl_e32mf2) { + test_vsetvl(VSEW::SEW_E32, VLMUL::LMUL_MF2, 32, 0.5); +} + TEST(VsetvlTest, vsetvlmax_e8m1) { test_vsetvlmax(VSEW::SEW_E8, VLMUL::LMUL_M1, 8, 1.0); } @@ -138,5 +163,30 @@ test_vsetvlmax(VSEW::SEW_E32, VLMUL::LMUL_M8, 32, 8.0); } +TEST(VsetvlTest, vsetvlmax_e8mf2) { + test_vsetvlmax(VSEW::SEW_E8, VLMUL::LMUL_MF2, 8, 0.5); +} + +TEST(VsetvlTest, vsetvlmax_e8mf4) { + test_vsetvlmax(VSEW::SEW_E8, VLMUL::LMUL_MF4, 8, 0.25); +} + +TEST(VsetvlTest, vsetvlmax_e16mf2) { + test_vsetvlmax(VSEW::SEW_E16, VLMUL::LMUL_MF2, 16, 0.5); +} + +// The tests pass on Renode but fail on Qemu. +TEST(VsetvlTest, DISABLED_vsetvlmax_e8mf8) { + test_vsetvlmax(VSEW::SEW_E8, VLMUL::LMUL_MF8, 8, 0.125); +} + +TEST(VsetvlTest, DISABLED_vsetvlmax_e16m4) { + test_vsetvlmax(VSEW::SEW_E16, VLMUL::LMUL_MF4, 16, 0.25); +} + +TEST(VsetvlTest, DISABLED_vsetvlmax_e32mf2) { + test_vsetvlmax(VSEW::SEW_E32, VLMUL::LMUL_MF2, 32, 0.5); +} + } // namespace } // namespace vsetvl_test