Merge changes If37ec493,I4dce185d,I6a894a43 into main
* changes:
Split TestVsssegXeXX test into separate tests for different vsew/vlmul
Split TestVssegXeXX test into separate tests for different vsew/vlmul
Split TestVlxsegXeiXX test into separate tests for different vsew/vlmul
diff --git a/interpreter/riscv64/interpreter_test.cc b/interpreter/riscv64/interpreter_test.cc
index 4064851..5aae6d6 100644
--- a/interpreter/riscv64/interpreter_test.cc
+++ b/interpreter/riscv64/interpreter_test.cc
@@ -4986,19 +4986,28 @@
TestVsX<8>(0xe2808427); // vs8r.v v8, (x1)
}
-TEST_F(Riscv64InterpreterTest, TestVlxsegXeiXX) {
+TEST_F(Riscv64InterpreterTest, TestVlxeiXX_sew8_vlmul1) {
VlxsegXeiXX<UInt8, 1, 1>(0x05008407, // Vluxei8.v v8, (x1), v16, v0.t
{{129, 0, 131, 2, 135, 133, 4, 6, 137, 14, 143, 139, 141, 12, 8, 10}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxeiXX_sew8_vlmul2) {
VlxsegXeiXX<UInt8, 1, 2>(
0x05008407, // Vluxei8.v v8, (x1), v16, v0.t
{{129, 0, 131, 2, 135, 133, 4, 6, 137, 14, 143, 139, 141, 12, 8, 10},
{30, 159, 145, 22, 18, 26, 153, 147, 157, 28, 16, 149, 155, 24, 20, 151}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxeiXX_sew8_vlmul4) {
VlxsegXeiXX<UInt8, 1, 4>(
0x05008407, // Vluxei8.v v8, (x1), v16, v0.t
{{129, 0, 131, 2, 135, 133, 4, 6, 137, 14, 143, 139, 141, 12, 8, 10},
{30, 159, 145, 22, 18, 26, 153, 147, 157, 28, 16, 149, 155, 24, 20, 151},
{44, 50, 52, 34, 189, 38, 54, 171, 42, 191, 185, 40, 36, 46, 167, 175},
{163, 169, 62, 187, 60, 179, 183, 181, 161, 32, 58, 177, 56, 165, 173, 48}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxeiXX_sew8_vlmul8) {
VlxsegXeiXX<UInt8, 1, 8>(
0x05008407, // Vluxei8.v v8, (x1), v16, v0.t
{{129, 0, 131, 2, 135, 133, 4, 6, 137, 14, 143, 139, 141, 12, 8, 10},
@@ -5009,16 +5018,25 @@
{237, 68, 231, 72, 110, 207, 247, 96, 251, 213, 90, 126, 66, 197, 120, 225},
{241, 76, 100, 195, 253, 245, 193, 84, 104, 122, 199, 209, 227, 70, 219, 86},
{243, 255, 205, 235, 74, 221, 80, 106, 215, 94, 211, 223, 116, 108, 82, 88}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg2eiXX_sew8_vlmul1) {
VlxsegXeiXX<UInt8, 2, 1>(
0x25008407, // Vluxseg2ei8.v v8, (x1), v16, v0.t
{{2, 0, 6, 4, 14, 10, 8, 12, 18, 28, 30, 22, 26, 24, 16, 20},
{131, 129, 135, 133, 143, 139, 137, 141, 147, 157, 159, 151, 155, 153, 145, 149}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg2eiXX_sew8_vlmul2) {
VlxsegXeiXX<UInt8, 2, 2>(
0x25008407, // Vluxseg2ei8.v v8, (x1), v16, v0.t
{{2, 0, 6, 4, 14, 10, 8, 12, 18, 28, 30, 22, 26, 24, 16, 20},
{60, 62, 34, 44, 36, 52, 50, 38, 58, 56, 32, 42, 54, 48, 40, 46},
{131, 129, 135, 133, 143, 139, 137, 141, 147, 157, 159, 151, 155, 153, 145, 149},
{189, 191, 163, 173, 165, 181, 179, 167, 187, 185, 161, 171, 183, 177, 169, 175}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg2eiXX_sew8_vlmul4) {
VlxsegXeiXX<UInt8, 2, 4>(
0x25008407, // Vluxseg2ei8.v v8, (x1), v16, v0.t
{{2, 0, 6, 4, 14, 10, 8, 12, 18, 28, 30, 22, 26, 24, 16, 20},
@@ -5029,11 +5047,17 @@
{189, 191, 163, 173, 165, 181, 179, 167, 187, 185, 161, 171, 183, 177, 169, 175},
{217, 229, 233, 197, 251, 205, 237, 215, 213, 255, 243, 209, 201, 221, 207, 223},
{199, 211, 253, 247, 249, 231, 239, 235, 195, 193, 245, 227, 241, 203, 219, 225}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg3eiXX_sew8_vlmul1) {
VlxsegXeiXX<UInt8, 3, 1>(
0x45008407, // Vluxseg3ei8.v v8, (x1), v16, v0.t
{{131, 0, 137, 6, 149, 143, 12, 18, 155, 42, 173, 161, 167, 36, 24, 30},
{4, 129, 10, 135, 22, 16, 141, 147, 28, 171, 46, 34, 40, 165, 153, 159},
{133, 2, 139, 8, 151, 145, 14, 20, 157, 44, 175, 163, 169, 38, 26, 32}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg3eiXX_sew8_vlmul2) {
VlxsegXeiXX<UInt8, 3, 2>(
0x45008407, // Vluxseg3ei8.v v8, (x1), v16, v0.t
{{131, 0, 137, 6, 149, 143, 12, 18, 155, 42, 173, 161, 167, 36, 24, 30},
@@ -5042,12 +5066,18 @@
{219, 94, 52, 195, 183, 207, 76, 58, 88, 213, 177, 64, 82, 201, 189, 70},
{133, 2, 139, 8, 151, 145, 14, 20, 157, 44, 175, 163, 169, 38, 26, 32},
{92, 223, 181, 68, 56, 80, 205, 187, 217, 86, 50, 193, 211, 74, 62, 199}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg4eiXX_sew8_vlmul1) {
VlxsegXeiXX<UInt8, 4, 1>(
0x65008407, // Vluxseg4ei8.v v8, (x1), v16, v0.t
{{4, 0, 12, 8, 28, 20, 16, 24, 36, 56, 60, 44, 52, 48, 32, 40},
{133, 129, 141, 137, 157, 149, 145, 153, 165, 185, 189, 173, 181, 177, 161, 169},
{6, 2, 14, 10, 30, 22, 18, 26, 38, 58, 62, 46, 54, 50, 34, 42},
{135, 131, 143, 139, 159, 151, 147, 155, 167, 187, 191, 175, 183, 179, 163, 171}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg2eiXX_sew4_vlmul2) {
VlxsegXeiXX<UInt8, 4, 2>(
0x65008407, // Vluxseg4ei8.v v8, (x1), v16, v0.t
{{4, 0, 12, 8, 28, 20, 16, 24, 36, 56, 60, 44, 52, 48, 32, 40},
@@ -5058,6 +5088,9 @@
{122, 126, 70, 90, 74, 106, 102, 78, 118, 114, 66, 86, 110, 98, 82, 94},
{135, 131, 143, 139, 159, 151, 147, 155, 167, 187, 191, 175, 183, 179, 163, 171},
{251, 255, 199, 219, 203, 235, 231, 207, 247, 243, 195, 215, 239, 227, 211, 223}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg5eiXX_sew8) {
VlxsegXeiXX<UInt8, 5, 1>(
0x85008407, // Vluxseg5ei8.v v8, (x1), v16, v0.t
{{133, 0, 143, 10, 163, 153, 20, 30, 173, 70, 203, 183, 193, 60, 40, 50},
@@ -5065,6 +5098,9 @@
{135, 2, 145, 12, 165, 155, 22, 32, 175, 72, 205, 185, 195, 62, 42, 52},
{8, 131, 18, 141, 38, 28, 151, 161, 48, 201, 78, 58, 68, 191, 171, 181},
{137, 4, 147, 14, 167, 157, 24, 34, 177, 74, 207, 187, 197, 64, 44, 54}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg6eiXX_sew8) {
VlxsegXeiXX<UInt8, 6, 1>(
0xa5008407, // Vluxseg6ei8.v v8, (x1), v16, v0.t
{{6, 0, 18, 12, 42, 30, 24, 36, 54, 84, 90, 66, 78, 72, 48, 60},
@@ -5073,6 +5109,9 @@
{137, 131, 149, 143, 173, 161, 155, 167, 185, 215, 221, 197, 209, 203, 179, 191},
{10, 4, 22, 16, 46, 34, 28, 40, 58, 88, 94, 70, 82, 76, 52, 64},
{139, 133, 151, 145, 175, 163, 157, 169, 187, 217, 223, 199, 211, 205, 181, 193}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg7eiXX_sew8) {
VlxsegXeiXX<UInt8, 7, 1>(
0xc5008407, // Vluxseg7ei8.v v8, (x1), v16, v0.t
{{135, 0, 149, 14, 177, 163, 28, 42, 191, 98, 233, 205, 219, 84, 56, 70},
@@ -5082,6 +5121,9 @@
{139, 4, 153, 18, 181, 167, 32, 46, 195, 102, 237, 209, 223, 88, 60, 74},
{12, 133, 26, 147, 54, 40, 161, 175, 68, 231, 110, 82, 96, 217, 189, 203},
{141, 6, 155, 20, 183, 169, 34, 48, 197, 104, 239, 211, 225, 90, 62, 76}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg8eiXX_sew8) {
VlxsegXeiXX<UInt8, 8, 1>(
0xe5008407, // Vluxseg8ei8.v v8, (x1), v16, v0.t
{{8, 0, 24, 16, 56, 40, 32, 48, 72, 112, 120, 88, 104, 96, 64, 80},
@@ -5092,16 +5134,28 @@
{141, 133, 157, 149, 189, 173, 165, 181, 205, 245, 253, 221, 237, 229, 197, 213},
{14, 6, 30, 22, 62, 46, 38, 54, 78, 118, 126, 94, 110, 102, 70, 86},
{143, 135, 159, 151, 191, 175, 167, 183, 207, 247, 255, 223, 239, 231, 199, 215}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxeiXX_sew16_vlmul1) {
VlxsegXeiXX<UInt16, 1, 1>(0x05008407, // Vluxei8.v v8, (x1), v16, v0.t
{{0x8302, 0x8100, 0x8706, 0x8504, 0x8f0e, 0x8b0a, 0x8908, 0x8d0c}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxeiXX_sew16_vlmul2) {
VlxsegXeiXX<UInt16, 1, 2>(0x05008407, // Vluxei8.v v8, (x1), v16, v0.t
{{0x8302, 0x8100, 0x8706, 0x8504, 0x8f0e, 0x8b0a, 0x8908, 0x8d0c},
{0x9312, 0x9d1c, 0x9f1e, 0x9716, 0x9b1a, 0x9918, 0x9110, 0x9514}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxeiXX_sew16_vlmul4) {
VlxsegXeiXX<UInt16, 1, 4>(0x05008407, // Vluxei8.v v8, (x1), v16, v0.t
{{0x8302, 0x8100, 0x8706, 0x8504, 0x8f0e, 0x8b0a, 0x8908, 0x8d0c},
{0x9312, 0x9d1c, 0x9f1e, 0x9716, 0x9b1a, 0x9918, 0x9110, 0x9514},
{0xbd3c, 0xbf3e, 0xa322, 0xad2c, 0xa524, 0xb534, 0xb332, 0xa726},
{0xbb3a, 0xb938, 0xa120, 0xab2a, 0xb736, 0xb130, 0xa928, 0xaf2e}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxeiXX_sew16_vlmul8) {
VlxsegXeiXX<UInt16, 1, 8>(0x05008407, // Vluxei8.v v8, (x1), v16, v0.t
{{0x8302, 0x8100, 0x8706, 0x8504, 0x8f0e, 0x8b0a, 0x8908, 0x8d0c},
{0x9312, 0x9d1c, 0x9f1e, 0x9716, 0x9b1a, 0x9918, 0x9110, 0x9514},
@@ -5111,14 +5165,23 @@
{0xd554, 0xff7e, 0xf372, 0xd150, 0xc948, 0xdd5c, 0xcf4e, 0xdf5e},
{0xc746, 0xd352, 0xfd7c, 0xf776, 0xf978, 0xe766, 0xef6e, 0xeb6a},
{0xc342, 0xc140, 0xf574, 0xe362, 0xf170, 0xcb4a, 0xdb5a, 0xe160}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg2eiXX_sew16_vlmul1) {
VlxsegXeiXX<UInt16, 2, 1>(0x25008407, // Vluxseg2ei8.v v8, (x1), v16, v0.t
{{0x8504, 0x8100, 0x8d0c, 0x8908, 0x9d1c, 0x9514, 0x9110, 0x9918},
{0x8706, 0x8302, 0x8f0e, 0x8b0a, 0x9f1e, 0x9716, 0x9312, 0x9b1a}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg2eiXX_sew16_vlmul2) {
VlxsegXeiXX<UInt16, 2, 2>(0x25008407, // Vluxseg2ei8.v v8, (x1), v16, v0.t
{{0x8504, 0x8100, 0x8d0c, 0x8908, 0x9d1c, 0x9514, 0x9110, 0x9918},
{0xa524, 0xb938, 0xbd3c, 0xad2c, 0xb534, 0xb130, 0xa120, 0xa928},
{0x8706, 0x8302, 0x8f0e, 0x8b0a, 0x9f1e, 0x9716, 0x9312, 0x9b1a},
{0xa726, 0xbb3a, 0xbf3e, 0xaf2e, 0xb736, 0xb332, 0xa322, 0xab2a}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg2eiXX_sew16_vlmul4) {
VlxsegXeiXX<UInt16, 2, 4>(0x25008407, // Vluxseg2ei8.v v8, (x1), v16, v0.t
{{0x8504, 0x8100, 0x8d0c, 0x8908, 0x9d1c, 0x9514, 0x9110, 0x9918},
{0xa524, 0xb938, 0xbd3c, 0xad2c, 0xb534, 0xb130, 0xa120, 0xa928},
@@ -5128,10 +5191,16 @@
{0xa726, 0xbb3a, 0xbf3e, 0xaf2e, 0xb736, 0xb332, 0xa322, 0xab2a},
{0xfb7a, 0xff7e, 0xc746, 0xdb5a, 0xcb4a, 0xeb6a, 0xe766, 0xcf4e},
{0xf776, 0xf372, 0xc342, 0xd756, 0xef6e, 0xe362, 0xd352, 0xdf5e}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg3eiXX_sew16_vlmul1) {
VlxsegXeiXX<UInt16, 3, 1>(0x45008407, // Vluxseg3ei8.v v8, (x1), v16, v0.t
{{0x8706, 0x8100, 0x9312, 0x8d0c, 0xab2a, 0x9f1e, 0x9918, 0xa524},
{0x8908, 0x8302, 0x9514, 0x8f0e, 0xad2c, 0xa120, 0x9b1a, 0xa726},
{0x8b0a, 0x8504, 0x9716, 0x9110, 0xaf2e, 0xa322, 0x9d1c, 0xa928}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg3eiXX_sew16_vlmul2) {
VlxsegXeiXX<UInt16, 3, 2>(0x45008407, // Vluxseg3ei8.v v8, (x1), v16, v0.t
{{0x8706, 0x8100, 0x9312, 0x8d0c, 0xab2a, 0x9f1e, 0x9918, 0xa524},
{0xb736, 0xd554, 0xdb5a, 0xc342, 0xcf4e, 0xc948, 0xb130, 0xbd3c},
@@ -5139,11 +5208,17 @@
{0xb938, 0xd756, 0xdd5c, 0xc544, 0xd150, 0xcb4a, 0xb332, 0xbf3e},
{0x8b0a, 0x8504, 0x9716, 0x9110, 0xaf2e, 0xa322, 0x9d1c, 0xa928},
{0xbb3a, 0xd958, 0xdf5e, 0xc746, 0xd352, 0xcd4c, 0xb534, 0xc140}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg4eiXX_sew16_vlmul1) {
VlxsegXeiXX<UInt16, 4, 1>(0x65008407, // Vluxseg4ei8.v v8, (x1), v16, v0.t
{{0x8908, 0x8100, 0x9918, 0x9110, 0xb938, 0xa928, 0xa120, 0xb130},
{0x8b0a, 0x8302, 0x9b1a, 0x9312, 0xbb3a, 0xab2a, 0xa322, 0xb332},
{0x8d0c, 0x8504, 0x9d1c, 0x9514, 0xbd3c, 0xad2c, 0xa524, 0xb534},
{0x8f0e, 0x8706, 0x9f1e, 0x9716, 0xbf3e, 0xaf2e, 0xa726, 0xb736}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg4eiXX_sew16_vlmul2) {
VlxsegXeiXX<UInt16, 4, 2>(0x65008407, // Vluxseg4ei8.v v8, (x1), v16, v0.t
{{0x8908, 0x8100, 0x9918, 0x9110, 0xb938, 0xa928, 0xa120, 0xb130},
{0xc948, 0xf170, 0xf978, 0xd958, 0xe968, 0xe160, 0xc140, 0xd150},
@@ -5153,12 +5228,18 @@
{0xcd4c, 0xf574, 0xfd7c, 0xdd5c, 0xed6c, 0xe564, 0xc544, 0xd554},
{0x8f0e, 0x8706, 0x9f1e, 0x9716, 0xbf3e, 0xaf2e, 0xa726, 0xb736},
{0xcf4e, 0xf776, 0xff7e, 0xdf5e, 0xef6e, 0xe766, 0xc746, 0xd756}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg5eiXX_sew16) {
VlxsegXeiXX<UInt16, 5, 1>(0x85008407, // Vluxseg5ei8.v v8, (x1), v16, v0.t
{{0x8b0a, 0x8100, 0x9f1e, 0x9514, 0xc746, 0xb332, 0xa928, 0xbd3c},
{0x8d0c, 0x8302, 0xa120, 0x9716, 0xc948, 0xb534, 0xab2a, 0xbf3e},
{0x8f0e, 0x8504, 0xa322, 0x9918, 0xcb4a, 0xb736, 0xad2c, 0xc140},
{0x9110, 0x8706, 0xa524, 0x9b1a, 0xcd4c, 0xb938, 0xaf2e, 0xc342},
{0x9312, 0x8908, 0xa726, 0x9d1c, 0xcf4e, 0xbb3a, 0xb130, 0xc544}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg6eiXX_sew16) {
VlxsegXeiXX<UInt16, 6, 1>(0xa5008407, // Vluxseg6ei8.v v8, (x1), v16, v0.t
{{0x8d0c, 0x8100, 0xa524, 0x9918, 0xd554, 0xbd3c, 0xb130, 0xc948},
{0x8f0e, 0x8302, 0xa726, 0x9b1a, 0xd756, 0xbf3e, 0xb332, 0xcb4a},
@@ -5166,6 +5247,9 @@
{0x9312, 0x8706, 0xab2a, 0x9f1e, 0xdb5a, 0xc342, 0xb736, 0xcf4e},
{0x9514, 0x8908, 0xad2c, 0xa120, 0xdd5c, 0xc544, 0xb938, 0xd150},
{0x9716, 0x8b0a, 0xaf2e, 0xa322, 0xdf5e, 0xc746, 0xbb3a, 0xd352}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg7eiXX_sew16) {
VlxsegXeiXX<UInt16, 7, 1>(0xc5008407, // Vluxseg7ei8.v v8, (x1), v16, v0.t
{{0x8f0e, 0x8100, 0xab2a, 0x9d1c, 0xe362, 0xc746, 0xb938, 0xd554},
{0x9110, 0x8302, 0xad2c, 0x9f1e, 0xe564, 0xc948, 0xbb3a, 0xd756},
@@ -5174,6 +5258,9 @@
{0x9716, 0x8908, 0xb332, 0xa524, 0xeb6a, 0xcf4e, 0xc140, 0xdd5c},
{0x9918, 0x8b0a, 0xb534, 0xa726, 0xed6c, 0xd150, 0xc342, 0xdf5e},
{0x9b1a, 0x8d0c, 0xb736, 0xa928, 0xef6e, 0xd352, 0xc544, 0xe160}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg8eiXX_sew16) {
VlxsegXeiXX<UInt16, 8, 1>(0xe5008407, // Vluxseg8ei8.v v8, (x1), v16, v0.t
{{0x9110, 0x8100, 0xb130, 0xa120, 0xf170, 0xd150, 0xc140, 0xe160},
{0x9312, 0x8302, 0xb332, 0xa322, 0xf372, 0xd352, 0xc342, 0xe362},
@@ -5183,16 +5270,28 @@
{0x9b1a, 0x8b0a, 0xbb3a, 0xab2a, 0xfb7a, 0xdb5a, 0xcb4a, 0xeb6a},
{0x9d1c, 0x8d0c, 0xbd3c, 0xad2c, 0xfd7c, 0xdd5c, 0xcd4c, 0xed6c},
{0x9f1e, 0x8f0e, 0xbf3e, 0xaf2e, 0xff7e, 0xdf5e, 0xcf4e, 0xef6e}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxeiXX_sew32_vlmul1) {
VlxsegXeiXX<UInt32, 1, 1>(0x05008407, // Vluxei8.v v8, (x1), v16, v0.t
{{0x8706'8504, 0x8302'8100, 0x8f0e'8d0c, 0x8b0a'8908}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxeiXX_sew32_vlmul2) {
VlxsegXeiXX<UInt32, 1, 2>(0x05008407, // Vluxei8.v v8, (x1), v16, v0.t
{{0x8706'8504, 0x8302'8100, 0x8f0e'8d0c, 0x8b0a'8908},
{0x9f1e'9d1c, 0x9716'9514, 0x9312'9110, 0x9b1a'9918}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxeiXX_sew32_vlmul4) {
VlxsegXeiXX<UInt32, 1, 4>(0x05008407, // Vluxei8.v v8, (x1), v16, v0.t
{{0x8706'8504, 0x8302'8100, 0x8f0e'8d0c, 0x8b0a'8908},
{0x9f1e'9d1c, 0x9716'9514, 0x9312'9110, 0x9b1a'9918},
{0xa726'a524, 0xbb3a'b938, 0xbf3e'bd3c, 0xaf2e'ad2c},
{0xb736'b534, 0xb332'b130, 0xa322'a120, 0xab2a'a928}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxeiXX_sew32_vlmul8) {
VlxsegXeiXX<UInt32, 1, 8>(0x05008407, // Vluxei8.v v8, (x1), v16, v0.t
{{0x8706'8504, 0x8302'8100, 0x8f0e'8d0c, 0x8b0a'8908},
{0x9f1e'9d1c, 0x9716'9514, 0x9312'9110, 0x9b1a'9918},
@@ -5202,14 +5301,23 @@
{0xcb4a'c948, 0xeb6a'e968, 0xe766'e564, 0xcf4e'cd4c},
{0xf776'f574, 0xf372'f170, 0xc342'c140, 0xd756'd554},
{0xef6e'ed6c, 0xe362'e160, 0xd352'd150, 0xdf5e'dd5c}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg2eiXX_sew32_vlmul1) {
VlxsegXeiXX<UInt32, 2, 1>(0x25008407, // Vluxseg2ei8.v v8, (x1), v16, v0.t
{{0x8b0a'8908, 0x8302'8100, 0x9b1a'9918, 0x9312'9110},
{0x8f0e'8d0c, 0x8706'8504, 0x9f1e'9d1c, 0x9716'9514}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg2eiXX_sew32_vlmul2) {
VlxsegXeiXX<UInt32, 2, 2>(0x25008407, // Vluxseg2ei8.v v8, (x1), v16, v0.t
{{0x8b0a'8908, 0x8302'8100, 0x9b1a'9918, 0x9312'9110},
{0xbb3a'b938, 0xab2a'a928, 0xa322'a120, 0xb332'b130},
{0x8f0e'8d0c, 0x8706'8504, 0x9f1e'9d1c, 0x9716'9514},
{0xbf3e'bd3c, 0xaf2e'ad2c, 0xa726'a524, 0xb736'b534}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg2eiXX_sew32_vlmul4) {
VlxsegXeiXX<UInt32, 2, 4>(0x25008407, // Vluxseg2ei8.v v8, (x1), v16, v0.t
{{0x8b0a'8908, 0x8302'8100, 0x9b1a'9918, 0x9312'9110},
{0xbb3a'b938, 0xab2a'a928, 0xa322'a120, 0xb332'b130},
@@ -5219,10 +5327,16 @@
{0xbf3e'bd3c, 0xaf2e'ad2c, 0xa726'a524, 0xb736'b534},
{0xcf4e'cd4c, 0xf776'f574, 0xff7e'fd7c, 0xdf5e'dd5c},
{0xef6e'ed6c, 0xe766'e564, 0xc746'c544, 0xd756'd554}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg3eiXX_sew32_vlmul1) {
VlxsegXeiXX<UInt32, 3, 1>(0x45008407, // Vluxseg3ei8.v v8, (x1), v16, v0.t
{{0x8f0e'8d0c, 0x8302'8100, 0xa726'a524, 0x9b1a'9918},
{0x9312'9110, 0x8706'8504, 0xab2a'a928, 0x9f1e'9d1c},
{0x9716'9514, 0x8b0a'8908, 0xaf2e'ad2c, 0xa322'a120}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg3eiXX_sew32_vlmul2) {
VlxsegXeiXX<UInt32, 3, 2>(0x45008407, // Vluxseg3ei8.v v8, (x1), v16, v0.t
{{0x8f0e'8d0c, 0x8302'8100, 0xa726'a524, 0x9b1a'9918},
{0xd756'd554, 0xbf3e'bd3c, 0xb332'b130, 0xcb4a'c948},
@@ -5230,11 +5344,17 @@
{0xdb5a'd958, 0xc342'c140, 0xb736'b534, 0xcf4e'cd4c},
{0x9716'9514, 0x8b0a'8908, 0xaf2e'ad2c, 0xa322'a120},
{0xdf5e'dd5c, 0xc746'c544, 0xbb3a'b938, 0xd352'd150}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg4eiXX_sew32_vlmul1) {
VlxsegXeiXX<UInt32, 4, 1>(0x65008407, // Vluxseg4ei8.v v8, (x1), v16, v0.t
{{0x9312'9110, 0x8302'8100, 0xb332'b130, 0xa322'a120},
{0x9716'9514, 0x8706'8504, 0xb736'b534, 0xa726'a524},
{0x9b1a'9918, 0x8b0a'8908, 0xbb3a'b938, 0xab2a'a928},
{0x9f1e'9d1c, 0x8f0e'8d0c, 0xbf3e'bd3c, 0xaf2e'ad2c}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg4eiXX_sew32_vlmul2) {
VlxsegXeiXX<UInt32, 4, 2>(0x65008407, // Vluxseg4ei8.v v8, (x1), v16, v0.t
{{0x9312'9110, 0x8302'8100, 0xb332'b130, 0xa322'a120},
{0xf372'f170, 0xd352'd150, 0xc342'c140, 0xe362'e160},
@@ -5244,12 +5364,18 @@
{0xfb7a'f978, 0xdb5a'd958, 0xcb4a'c948, 0xeb6a'e968},
{0x9f1e'9d1c, 0x8f0e'8d0c, 0xbf3e'bd3c, 0xaf2e'ad2c},
{0xff7e'fd7c, 0xdf5e'dd5c, 0xcf4e'cd4c, 0xef6e'ed6c}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg5eiXX_sew32) {
VlxsegXeiXX<UInt32, 5, 1>(0x85008407, // Vluxseg5ei8.v v8, (x1), v16, v0.t
{{0x9716'9514, 0x8302'8100, 0xbf3e'bd3c, 0xab2a'a928},
{0x9b1a'9918, 0x8706'8504, 0xc342'c140, 0xaf2e'ad2c},
{0x9f1e'9d1c, 0x8b0a'8908, 0xc746'c544, 0xb332'b130},
{0xa322'a120, 0x8f0e'8d0c, 0xcb4a'c948, 0xb736'b534},
{0xa726'a524, 0x9312'9110, 0xcf4e'cd4c, 0xbb3a'b938}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg6eiXX_sew32) {
VlxsegXeiXX<UInt32, 6, 1>(0xa5008407, // Vluxseg6ei8.v v8, (x1), v16, v0.t
{{0x9b1a'9918, 0x8302'8100, 0xcb4a'c948, 0xb332'b130},
{0x9f1e'9d1c, 0x8706'8504, 0xcf4e'cd4c, 0xb736'b534},
@@ -5257,6 +5383,9 @@
{0xa726'a524, 0x8f0e'8d0c, 0xd756'd554, 0xbf3e'bd3c},
{0xab2a'a928, 0x9312'9110, 0xdb5a'd958, 0xc342'c140},
{0xaf2e'ad2c, 0x9716'9514, 0xdf5e'dd5c, 0xc746'c544}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg7eiXX_sew32) {
VlxsegXeiXX<UInt32, 7, 1>(0xc5008407, // Vluxseg7ei8.v v8, (x1), v16, v0.t
{{0x9f1e'9d1c, 0x8302'8100, 0xd756'd554, 0xbb3a'b938},
{0xa322'a120, 0x8706'8504, 0xdb5a'd958, 0xbf3e'bd3c},
@@ -5265,6 +5394,9 @@
{0xaf2e'ad2c, 0x9312'9110, 0xe766'e564, 0xcb4a'c948},
{0xb332'b130, 0x9716'9514, 0xeb6a'e968, 0xcf4e'cd4c},
{0xb736'b534, 0x9b1a'9918, 0xef6e'ed6c, 0xd352'd150}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg8eiXX_sew32) {
VlxsegXeiXX<UInt32, 8, 1>(0xe5008407, // Vluxseg8ei8.v v8, (x1), v16, v0.t
{{0xa322'a120, 0x8302'8100, 0xe362'e160, 0xc342'c140},
{0xa726'a524, 0x8706'8504, 0xe766'e564, 0xc746'c544},
@@ -5274,16 +5406,28 @@
{0xb736'b534, 0x9716'9514, 0xf776'f574, 0xd756'd554},
{0xbb3a'b938, 0x9b1a'9918, 0xfb7a'f978, 0xdb5a'd958},
{0xbf3e'bd3c, 0x9f1e'9d1c, 0xff7e'fd7c, 0xdf5e'dd5c}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxeiXX_sew64_vlmul1) {
VlxsegXeiXX<UInt64, 1, 1>(0x05008407, // Vluxei8.v v8, (x1), v16, v0.t
{{0x8f0e'8d0c'8b0a'8908, 0x8706'8504'8302'8100}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxeiXX_sew64_vlmul2) {
VlxsegXeiXX<UInt64, 1, 2>(0x05008407, // Vluxei8.v v8, (x1), v16, v0.t
{{0x8f0e'8d0c'8b0a'8908, 0x8706'8504'8302'8100},
{0x9f1e'9d1c'9b1a'9918, 0x9716'9514'9312'9110}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxeiXX_sew64_vlmul4) {
VlxsegXeiXX<UInt64, 1, 4>(0x05008407, // Vluxei8.v v8, (x1), v16, v0.t
{{0x8f0e'8d0c'8b0a'8908, 0x8706'8504'8302'8100},
{0x9f1e'9d1c'9b1a'9918, 0x9716'9514'9312'9110},
{0xbf3e'bd3c'bb3a'b938, 0xaf2e'ad2c'ab2a'a928},
{0xa726'a524'a322'a120, 0xb736'b534'b332'b130}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxeiXX_sew64_vlmul8) {
VlxsegXeiXX<UInt64, 1, 8>(0x05008407, // Vluxei8.v v8, (x1), v16, v0.t
{{0x8f0e'8d0c'8b0a'8908, 0x8706'8504'8302'8100},
{0x9f1e'9d1c'9b1a'9918, 0x9716'9514'9312'9110},
@@ -5293,14 +5437,23 @@
{0xff7e'fd7c'fb7a'f978, 0xdf5e'dd5c'db5a'd958},
{0xef6e'ed6c'eb6a'e968, 0xe766'e564'e362'e160},
{0xc746'c544'c342'c140, 0xd756'd554'd352'd150}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg2eiXX_sew64_vlmul1) {
VlxsegXeiXX<UInt64, 2, 1>(0x25008407, // Vluxseg2ei8.v v8, (x1), v16, v0.t
{{0x9716'9514'9312'9110, 0x8706'8504'8302'8100},
{0x9f1e'9d1c'9b1a'9918, 0x8f0e'8d0c'8b0a'8908}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg2eiXX_sew64_vlmul2) {
VlxsegXeiXX<UInt64, 2, 2>(0x25008407, // Vluxseg2ei8.v v8, (x1), v16, v0.t
{{0x9716'9514'9312'9110, 0x8706'8504'8302'8100},
{0xb736'b534'b332'b130, 0xa726'a524'a322'a120},
{0x9f1e'9d1c'9b1a'9918, 0x8f0e'8d0c'8b0a'8908},
{0xbf3e'bd3c'bb3a'b938, 0xaf2e'ad2c'ab2a'a928}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg2eiXX_sew64_vlmul4) {
VlxsegXeiXX<UInt64, 2, 4>(0x25008407, // Vluxseg2ei8.v v8, (x1), v16, v0.t
{{0x9716'9514'9312'9110, 0x8706'8504'8302'8100},
{0xb736'b534'b332'b130, 0xa726'a524'a322'a120},
@@ -5310,10 +5463,16 @@
{0xbf3e'bd3c'bb3a'b938, 0xaf2e'ad2c'ab2a'a928},
{0xff7e'fd7c'fb7a'f978, 0xdf5e'dd5c'db5a'd958},
{0xcf4e'cd4c'cb4a'c948, 0xef6e'ed6c'eb6a'e968}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg3eiXX_sew64_vlmul1) {
VlxsegXeiXX<UInt64, 3, 1>(0x45008407, // Vluxseg3ei8.v v8, (x1), v16, v0.t
{{0x9f1e'9d1c'9b1a'9918, 0x8706'8504'8302'8100},
{0xa726'a524'a322'a120, 0x8f0e'8d0c'8b0a'8908},
{0xaf2e'ad2c'ab2a'a928, 0x9716'9514'9312'9110}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg3eiXX_sew64_vlmul2) {
VlxsegXeiXX<UInt64, 3, 2>(0x45008407, // Vluxseg3ei8.v v8, (x1), v16, v0.t
{{0x9f1e'9d1c'9b1a'9918, 0x8706'8504'8302'8100},
{0xcf4e'cd4c'cb4a'c948, 0xb736'b534'b332'b130},
@@ -5321,11 +5480,17 @@
{0xd756'd554'd352'd150, 0xbf3e'bd3c'bb3a'b938},
{0xaf2e'ad2c'ab2a'a928, 0x9716'9514'9312'9110},
{0xdf5e'dd5c'db5a'd958, 0xc746'c544'c342'c140}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg4eiXX_sew64_vlmul1) {
VlxsegXeiXX<UInt64, 4, 1>(0x65008407, // Vluxseg4ei8.v v8, (x1), v16, v0.t
{{0xa726'a524'a322'a120, 0x8706'8504'8302'8100},
{0xaf2e'ad2c'ab2a'a928, 0x8f0e'8d0c'8b0a'8908},
{0xb736'b534'b332'b130, 0x9716'9514'9312'9110},
{0xbf3e'bd3c'bb3a'b938, 0x9f1e'9d1c'9b1a'9918}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg4eiXX_sew64_vlmul2) {
VlxsegXeiXX<UInt64, 4, 2>(0x65008407, // Vluxseg4ei8.v v8, (x1), v16, v0.t
{{0xa726'a524'a322'a120, 0x8706'8504'8302'8100},
{0xe766'e564'e362'e160, 0xc746'c544'c342'c140},
@@ -5335,12 +5500,18 @@
{0xf776'f574'f372'f170, 0xd756'd554'd352'd150},
{0xbf3e'bd3c'bb3a'b938, 0x9f1e'9d1c'9b1a'9918},
{0xff7e'fd7c'fb7a'f978, 0xdf5e'dd5c'db5a'd958}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg5eiXX_sew64) {
VlxsegXeiXX<UInt64, 5, 1>(0x85008407, // Vluxseg5ei8.v v8, (x1), v16, v0.t
{{0xaf2e'ad2c'ab2a'a928, 0x8706'8504'8302'8100},
{0xb736'b534'b332'b130, 0x8f0e'8d0c'8b0a'8908},
{0xbf3e'bd3c'bb3a'b938, 0x9716'9514'9312'9110},
{0xc746'c544'c342'c140, 0x9f1e'9d1c'9b1a'9918},
{0xcf4e'cd4c'cb4a'c948, 0xa726'a524'a322'a120}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg6eiXX_sew64) {
VlxsegXeiXX<UInt64, 6, 1>(0xa5008407, // Vluxseg6ei8.v v8, (x1), v16, v0.t
{{0xb736'b534'b332'b130, 0x8706'8504'8302'8100},
{0xbf3e'bd3c'bb3a'b938, 0x8f0e'8d0c'8b0a'8908},
@@ -5348,6 +5519,9 @@
{0xcf4e'cd4c'cb4a'c948, 0x9f1e'9d1c'9b1a'9918},
{0xd756'd554'd352'd150, 0xa726'a524'a322'a120},
{0xdf5e'dd5c'db5a'd958, 0xaf2e'ad2c'ab2a'a928}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg7eiXX_sew64) {
VlxsegXeiXX<UInt64, 7, 1>(0xc5008407, // Vluxseg7ei8.v v8, (x1), v16, v0.t
{{0xbf3e'bd3c'bb3a'b938, 0x8706'8504'8302'8100},
{0xc746'c544'c342'c140, 0x8f0e'8d0c'8b0a'8908},
@@ -5356,6 +5530,9 @@
{0xdf5e'dd5c'db5a'd958, 0xa726'a524'a322'a120},
{0xe766'e564'e362'e160, 0xaf2e'ad2c'ab2a'a928},
{0xef6e'ed6c'eb6a'e968, 0xb736'b534'b332'b130}});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVlxseg8eiXX_sew64) {
VlxsegXeiXX<UInt64, 8, 1>(0xe5008407, // Vluxseg8ei8.v v8, (x1), v16, v0.t
{{0xc746'c544'c342'c140, 0x8706'8504'8302'8100},
{0xcf4e'cd4c'cb4a'c948, 0x8f0e'8d0c'8b0a'8908},
@@ -7376,12 +7553,18 @@
0xf776'f574'f372'f170});
}
-TEST_F(Riscv64InterpreterTest, TestVssegXeXX) {
+TEST_F(Riscv64InterpreterTest, TestVse8_vlmul1) {
TestVssegXeXX<UInt8, 1, 1>(0x000008427, // vsse8.v v8, (x1), v0.t
{0x8706'8504'8302'8100, 0x8f0e'8d0c'8b0a'8908});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVse8_vlmul2) {
TestVssegXeXX<UInt8, 1, 2>(
0x000008427, // vsse8.v v8, (x1), v0.t
{0x8706'8504'8302'8100, 0x8f0e'8d0c'8b0a'8908, 0x9716'9514'9312'9110, 0x9f1e'9d1c'9b1a'9918});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVse8_vlmul4) {
TestVssegXeXX<UInt8, 1, 4>(0x000008427, // vsse8.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0x8f0e'8d0c'8b0a'8908,
@@ -7391,6 +7574,9 @@
0xaf2e'ad2c'ab2a'a928,
0xb736'b534'b332'b130,
0xbf3e'bd3c'bb3a'b938});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVse8_vlmul8) {
TestVssegXeXX<UInt8, 1, 8>(0x000008427, // vsse8.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0x8f0e'8d0c'8b0a'8908,
@@ -7408,9 +7594,15 @@
0xef6e'ed6c'eb6a'e968,
0xf776'f574'f372'f170,
0xff7e'fd7c'fb7a'f978});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg2e8_vlmul1) {
TestVssegXeXX<UInt8, 2, 1>(
0x20008427, // vsseg2e8.v v8, (x1), v0.t
{0x9383'1202'9181'1000, 0x9787'1606'9585'1404, 0x9b8b'1a0a'9989'1808, 0x9f8f'1e0e'9d8d'1c0c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg2e8_vlmul2) {
TestVssegXeXX<UInt8, 2, 2>(0x20008427, // vsseg2e8.v v8, (x1), v0.t
{0xa383'2202'a181'2000,
0xa787'2606'a585'2404,
@@ -7420,6 +7612,9 @@
0xb797'3616'b595'3414,
0xbb9b'3a1a'b999'3818,
0xbf9f'3e1e'bd9d'3c1c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg2e8_vlmul4) {
TestVssegXeXX<UInt8, 2, 4>(0x20008427, // vsseg2e8.v v8, (x1), v0.t
{0xc383'4202'c181'4000,
0xc787'4606'c585'4404,
@@ -7437,6 +7632,9 @@
0xf7b7'7636'f5b5'7434,
0xfbbb'7a3a'f9b9'7838,
0xffbf'7e3e'fdbd'7c3c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg3e8_vlmul1) {
TestVssegXeXX<UInt8, 3, 1>(0x40008427, // vsseg3e8.v v8, (x1), v0.t
{0x1202'a191'8120'1000,
0x8524'1404'a393'8322,
@@ -7444,6 +7642,9 @@
0x1a0a'a999'8928'1808,
0x8d2c'1c0c'ab9b'8b2a,
0xaf9f'8f2e'1e0e'ad9d});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg3e8_vlmul2) {
TestVssegXeXX<UInt8, 3, 2>(0x40008427, // vsseg3e8.v v8, (x1), v0.t
{0x2202'c1a1'8140'2000,
0x8544'2404'c3a3'8342,
@@ -7457,6 +7658,9 @@
0x3a1a'd9b9'9958'3818,
0x9d5c'3c1c'dbbb'9b5a,
0xdfbf'9f5e'3e1e'ddbd});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg4e8_vlmul1) {
TestVssegXeXX<UInt8, 4, 1>(0x60008427, // vsseg4e8.v v8, (x1), v0.t
{0xb1a1'9181'3020'1000,
0xb3a3'9383'3222'1202,
@@ -7466,6 +7670,9 @@
0xbbab'9b8b'3a2a'1a0a,
0xbdad'9d8d'3c2c'1c0c,
0xbfaf'9f8f'3e2e'1e0e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg4e8_vlmul2) {
TestVssegXeXX<UInt8, 4, 2>(0x60008427, // vsseg4e8.v v8, (x1), v0.t
{0xe1c1'a181'6040'2000,
0xe3c3'a383'6242'2202,
@@ -7483,6 +7690,9 @@
0xfbdb'bb9b'7a5a'3a1a,
0xfddd'bd9d'7c5c'3c1c,
0xffdf'bf9f'7e5e'3e1e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg5e8) {
TestVssegXeXX<UInt8, 5, 1>(0x80008427, // vsseg5e8.v v8, (x1), v0.t
{0xa191'8140'3020'1000,
0x8342'3222'1202'c1b1,
@@ -7494,6 +7704,9 @@
0x3c2c'1c0c'cbbb'ab9b,
0x1e0e'cdbd'ad9d'8d4c,
0xcfbf'af9f'8f4e'3e2e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg6e8) {
TestVssegXeXX<UInt8, 6, 1>(0xa0008427, // vsseg6e8.v v8, (x1), v0.t
{0x9181'5040'3020'1000,
0x3222'1202'd1c1'b1a1,
@@ -7507,6 +7720,9 @@
0x9d8d'5c4c'3c2c'1c0c,
0x3e2e'1e0e'ddcd'bdad,
0xdfcf'bfaf'9f8f'5e4e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg7e8) {
TestVssegXeXX<UInt8, 7, 1>(0xc0008427, // vsseg7e8.v v8, (x1), v0.t
{0x8160'5040'3020'1000,
0x1202'e1d1'c1b1'a191,
@@ -7522,6 +7738,9 @@
0xcdbd'ad9d'8d6c'5c4c,
0x5e4e'3e2e'1e0e'eddd,
0xefdf'cfbf'af9f'8f6e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg8e8) {
TestVssegXeXX<UInt8, 8, 1>(0xe0008427, // vsseg8e8.v v8, (x1), v0.t
{0x7060'5040'3020'1000,
0xf1e1'd1c1'b1a1'9181,
@@ -7539,11 +7758,20 @@
0xfded'ddcd'bdad'9d8d,
0x7e6e'5e4e'3e2e'1e0e,
0xffef'dfcf'bfaf'9f8f});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVse16_vlmul1) {
TestVssegXeXX<UInt16, 1, 1>(0x000d427, // vse16.v v8, (x1), v0.t
{0x8706'8504'8302'8100, 0x8f0e'8d0c'8b0a'8908});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVse16_vlmul2) {
TestVssegXeXX<UInt16, 1, 2>(
0x000d427, // vse16.v v8, (x1), v0.t
{0x8706'8504'8302'8100, 0x8f0e'8d0c'8b0a'8908, 0x9716'9514'9312'9110, 0x9f1e'9d1c'9b1a'9918});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVse16_vlmul4) {
TestVssegXeXX<UInt16, 1, 4>(0x000d427, // vse16.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0x8f0e'8d0c'8b0a'8908,
@@ -7553,6 +7781,9 @@
0xaf2e'ad2c'ab2a'a928,
0xb736'b534'b332'b130,
0xbf3e'bd3c'bb3a'b938});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVse16_vlmul8) {
TestVssegXeXX<UInt16, 1, 8>(0x000d427, // vse16.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0x8f0e'8d0c'8b0a'8908,
@@ -7570,9 +7801,15 @@
0xef6e'ed6c'eb6a'e968,
0xf776'f574'f372'f170,
0xff7e'fd7c'fb7a'f978});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg2e16_vlmul1) {
TestVssegXeXX<UInt16, 2, 1>(
0x2000d427, // vsseg2e16.v v8, (x1), v0.t
{0x9312'8302'9110'8100, 0x9716'8706'9514'8504, 0x9b1a'8b0a'9918'8908, 0x9f1e'8f0e'9d1c'8d0c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg2e16_vlmul2) {
TestVssegXeXX<UInt16, 2, 2>(0x2000d427, // vsseg2e16.v v8, (x1), v0.t
{0xa322'8302'a120'8100,
0xa726'8706'a524'8504,
@@ -7582,6 +7819,9 @@
0xb736'9716'b534'9514,
0xbb3a'9b1a'b938'9918,
0xbf3e'9f1e'bd3c'9d1c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg2e16_vlmul4) {
TestVssegXeXX<UInt16, 2, 4>(0x2000d427, // vsseg2e16.v v8, (x1), v0.t
{0xc342'8302'c140'8100,
0xc746'8706'c544'8504,
@@ -7599,6 +7839,9 @@
0xf776'b736'f574'b534,
0xfb7a'bb3a'f978'b938,
0xff7e'bf3e'fd7c'bd3c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg3e16_vlmul1) {
TestVssegXeXX<UInt16, 3, 1>(0x4000d427, // vsseg3e16.v v8, (x1), v0.t
{0x8302'a120'9110'8100,
0x9514'8504'a322'9312,
@@ -7606,6 +7849,9 @@
0x8b0a'a928'9918'8908,
0x9d1c'8d0c'ab2a'9b1a,
0xaf2e'9f1e'8f0e'ad2c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg3e16_vlmul2) {
TestVssegXeXX<UInt16, 3, 2>(0x4000d427, // vsseg3e16.v v8, (x1), v0.t
{0x8302'c140'a120'8100,
0xa524'8504'c342'a322,
@@ -7619,6 +7865,9 @@
0x9b1a'd958'b938'9918,
0xbd3c'9d1c'db5a'bb3a,
0xdf5e'bf3e'9f1e'dd5c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg4e16_vlmul1) {
TestVssegXeXX<UInt16, 4, 1>(0x6000d427, // vsseg4e16.v v8, (x1), v0.t
{0xb130'a120'9110'8100,
0xb332'a322'9312'8302,
@@ -7628,6 +7877,9 @@
0xbb3a'ab2a'9b1a'8b0a,
0xbd3c'ad2c'9d1c'8d0c,
0xbf3e'af2e'9f1e'8f0e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg4e16_vlmul2) {
TestVssegXeXX<UInt16, 4, 2>(0x6000d427, // vsseg4e16.v v8, (x1), v0.t
{0xe160'c140'a120'8100,
0xe362'c342'a322'8302,
@@ -7645,6 +7897,9 @@
0xfb7a'db5a'bb3a'9b1a,
0xfd7c'dd5c'bd3c'9d1c,
0xff7e'df5e'bf3e'9f1e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg5e16) {
TestVssegXeXX<UInt16, 5, 1>(0x8000d427, // vsseg5e16.v v8, (x1), v0.t
{0xb130'a120'9110'8100,
0xa322'9312'8302'c140,
@@ -7656,6 +7911,9 @@
0x9d1c'8d0c'cb4a'bb3a,
0x8f0e'cd4c'bd3c'ad2c,
0xcf4e'bf3e'af2e'9f1e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg6e16) {
TestVssegXeXX<UInt16, 6, 1>(0xa000d427, // vsseg6e16.v v8, (x1), v0.t
{0xb130'a120'9110'8100,
0x9312'8302'd150'c140,
@@ -7669,6 +7927,9 @@
0xbd3c'ad2c'9d1c'8d0c,
0x9f1e'8f0e'dd5c'cd4c,
0xdf5e'cf4e'bf3e'af2e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg7e16) {
TestVssegXeXX<UInt16, 7, 1>(0xc000d427, // vsseg7e16.v v8, (x1), v0.t
{0xb130'a120'9110'8100,
0x8302'e160'd150'c140,
@@ -7684,6 +7945,9 @@
0xdd5c'cd4c'bd3c'ad2c,
0xaf2e'9f1e'8f0e'ed6c,
0xef6e'df5e'cf4e'bf3e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg8e16) {
TestVssegXeXX<UInt16, 8, 1>(0xe000d427, // vsseg8e16.v v8, (x1), v0.t
{0xb130'a120'9110'8100,
0xf170'e160'd150'c140,
@@ -7701,11 +7965,20 @@
0xfd7c'ed6c'dd5c'cd4c,
0xbf3e'af2e'9f1e'8f0e,
0xff7e'ef6e'df5e'cf4e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVse32_vlmul1) {
TestVssegXeXX<UInt32, 1, 1>(0x000e427, // vse32.v v8, (x1), v0.t
{0x8706'8504'8302'8100, 0x8f0e'8d0c'8b0a'8908});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVse32_vlmul2) {
TestVssegXeXX<UInt32, 1, 2>(
0x000e427, // vse32.v v8, (x1), v0.t
{0x8706'8504'8302'8100, 0x8f0e'8d0c'8b0a'8908, 0x9716'9514'9312'9110, 0x9f1e'9d1c'9b1a'9918});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVse32_vlmul4) {
TestVssegXeXX<UInt32, 1, 4>(0x000e427, // vse32.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0x8f0e'8d0c'8b0a'8908,
@@ -7715,6 +7988,9 @@
0xaf2e'ad2c'ab2a'a928,
0xb736'b534'b332'b130,
0xbf3e'bd3c'bb3a'b938});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVse32_vlmul8) {
TestVssegXeXX<UInt32, 1, 8>(0x000e427, // vse32.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0x8f0e'8d0c'8b0a'8908,
@@ -7732,9 +8008,15 @@
0xef6e'ed6c'eb6a'e968,
0xf776'f574'f372'f170,
0xff7e'fd7c'fb7a'f978});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg2e32_vlmul1) {
TestVssegXeXX<UInt32, 2, 1>(
0x2000e427, // vsseg2e32.v v8, (x1), v0.t
{0x9312'9110'8302'8100, 0x9716'9514'8706'8504, 0x9b1a'9918'8b0a'8908, 0x9f1e'9d1c'8f0e'8d0c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg2e32_vlmul2) {
TestVssegXeXX<UInt32, 2, 2>(0x2000e427, // vsseg2e32.v v8, (x1), v0.t
{0xa322'a120'8302'8100,
0xa726'a524'8706'8504,
@@ -7744,6 +8026,9 @@
0xb736'b534'9716'9514,
0xbb3a'b938'9b1a'9918,
0xbf3e'bd3c'9f1e'9d1c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg2e32_vlmul4) {
TestVssegXeXX<UInt32, 2, 4>(0x2000e427, // vsseg2e32.v v8, (x1), v0.t
{0xc342'c140'8302'8100,
0xc746'c544'8706'8504,
@@ -7761,6 +8046,9 @@
0xf776'f574'b736'b534,
0xfb7a'f978'bb3a'b938,
0xff7e'fd7c'bf3e'bd3c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg3e32_vlmul1) {
TestVssegXeXX<UInt32, 3, 1>(0x4000e427, // vsseg3e32.v v8, (x1), v0.t
{0x9312'9110'8302'8100,
0x8706'8504'a322'a120,
@@ -7768,6 +8056,9 @@
0x9b1a'9918'8b0a'8908,
0x8f0e'8d0c'ab2a'a928,
0xaf2e'ad2c'9f1e'9d1c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg3e32_vlmul2) {
TestVssegXeXX<UInt32, 3, 2>(0x4000e427, // vsseg3e32.v v8, (x1), v0.t
{0xa322'a120'8302'8100,
0x8706'8504'c342'c140,
@@ -7781,6 +8072,9 @@
0xbb3a'b938'9b1a'9918,
0x9f1e'9d1c'db5a'd958,
0xdf5e'dd5c'bf3e'bd3c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg4e32_vlmul1) {
TestVssegXeXX<UInt32, 4, 1>(0x6000e427, // vsseg4e32.v v8, (x1), v0.t
{0x9312'9110'8302'8100,
0xb332'b130'a322'a120,
@@ -7790,6 +8084,9 @@
0xbb3a'b938'ab2a'a928,
0x9f1e'9d1c'8f0e'8d0c,
0xbf3e'bd3c'af2e'ad2c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg4e32_vlmul2) {
TestVssegXeXX<UInt32, 4, 2>(0x6000e427, // vsseg4e32.v v8, (x1), v0.t
{0xa322'a120'8302'8100,
0xe362'e160'c342'c140,
@@ -7807,6 +8104,9 @@
0xfb7a'f978'db5a'd958,
0xbf3e'bd3c'9f1e'9d1c,
0xff7e'fd7c'df5e'dd5c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg5e32) {
TestVssegXeXX<UInt32, 5, 1>(0x8000e427, // vsseg5e32.v v8, (x1), v0.t
{0x9312'9110'8302'8100,
0xb332'b130'a322'a120,
@@ -7818,6 +8118,9 @@
0x8f0e'8d0c'cb4a'c948,
0xaf2e'ad2c'9f1e'9d1c,
0xcf4e'cd4c'bf3e'bd3c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg6e32) {
TestVssegXeXX<UInt32, 6, 1>(0xa000e427, // vsseg6e32.v v8, (x1), v0.t
{0x9312'9110'8302'8100,
0xb332'b130'a322'a120,
@@ -7831,6 +8134,9 @@
0x9f1e'9d1c'8f0e'8d0c,
0xbf3e'bd3c'af2e'ad2c,
0xdf5e'dd5c'cf4e'cd4c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg7e32) {
TestVssegXeXX<UInt32, 7, 1>(0xc000e427, // vsseg7e32.v v8, (x1), v0.t
{0x9312'9110'8302'8100,
0xb332'b130'a322'a120,
@@ -7846,6 +8152,9 @@
0xaf2e'ad2c'9f1e'9d1c,
0xcf4e'cd4c'bf3e'bd3c,
0xef6e'ed6c'df5e'dd5c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg8e32) {
TestVssegXeXX<UInt32, 8, 1>(0xe000e427, // vsseg8e32.v v8, (x1), v0.t
{0x9312'9110'8302'8100,
0xb332'b130'a322'a120,
@@ -7863,11 +8172,20 @@
0xbf3e'bd3c'af2e'ad2c,
0xdf5e'dd5c'cf4e'cd4c,
0xff7e'fd7c'ef6e'ed6c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVse64_vlmul1) {
TestVssegXeXX<UInt64, 1, 1>(0x000f427, // vse64.v v8, (x1), v0.t
{0x8706'8504'8302'8100, 0x8f0e'8d0c'8b0a'8908});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVse64_vlmul2) {
TestVssegXeXX<UInt64, 1, 2>(
0x000f427, // vse64.v v8, (x1), v0.t
{0x8706'8504'8302'8100, 0x8f0e'8d0c'8b0a'8908, 0x9716'9514'9312'9110, 0x9f1e'9d1c'9b1a'9918});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVse64_vlmul4) {
TestVssegXeXX<UInt64, 1, 4>(0x000f427, // vse64.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0x8f0e'8d0c'8b0a'8908,
@@ -7877,6 +8195,9 @@
0xaf2e'ad2c'ab2a'a928,
0xb736'b534'b332'b130,
0xbf3e'bd3c'bb3a'b938});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVse64_vlmul8) {
TestVssegXeXX<UInt64, 1, 8>(0x000f427, // vse64.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0x8f0e'8d0c'8b0a'8908,
@@ -7894,9 +8215,15 @@
0xef6e'ed6c'eb6a'e968,
0xf776'f574'f372'f170,
0xff7e'fd7c'fb7a'f978});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg2e64_vlmul1) {
TestVssegXeXX<UInt64, 2, 1>(
0x2000f427, // vsseg2e64.v v8, (x1), v0.t
{0x8706'8504'8302'8100, 0x9716'9514'9312'9110, 0x8f0e'8d0c'8b0a'8908, 0x9f1e'9d1c'9b1a'9918});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg2e64_vlmul2) {
TestVssegXeXX<UInt64, 2, 2>(0x2000f427, // vsseg2e64.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0xa726'a524'a322'a120,
@@ -7906,6 +8233,9 @@
0xb736'b534'b332'b130,
0x9f1e'9d1c'9b1a'9918,
0xbf3e'bd3c'bb3a'b938});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg2e64_vlmul4) {
TestVssegXeXX<UInt64, 2, 4>(0x2000f427, // vsseg2e64.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0xc746'c544'c342'c140,
@@ -7923,6 +8253,9 @@
0xf776'f574'f372'f170,
0xbf3e'bd3c'bb3a'b938,
0xff7e'fd7c'fb7a'f978});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg3e64_vlmul1) {
TestVssegXeXX<UInt64, 3, 1>(0x4000f427, // vsseg3e64.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0x9716'9514'9312'9110,
@@ -7930,6 +8263,9 @@
0x8f0e'8d0c'8b0a'8908,
0x9f1e'9d1c'9b1a'9918,
0xaf2e'ad2c'ab2a'a928});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg3e64_vlmul2) {
TestVssegXeXX<UInt64, 3, 2>(0x4000f427, // vsseg3e64.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0xa726'a524'a322'a120,
@@ -7943,6 +8279,9 @@
0x9f1e'9d1c'9b1a'9918,
0xbf3e'bd3c'bb3a'b938,
0xdf5e'dd5c'db5a'd958});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg4e64_vlmul1) {
TestVssegXeXX<UInt64, 4, 1>(0x6000f427, // vsseg4e64.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0x9716'9514'9312'9110,
@@ -7952,6 +8291,9 @@
0x9f1e'9d1c'9b1a'9918,
0xaf2e'ad2c'ab2a'a928,
0xbf3e'bd3c'bb3a'b938});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg4e64_vlmul2) {
TestVssegXeXX<UInt64, 4, 2>(0x6000f427, // vsseg4e64.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0xa726'a524'a322'a120,
@@ -7969,6 +8311,9 @@
0xbf3e'bd3c'bb3a'b938,
0xdf5e'dd5c'db5a'd958,
0xff7e'fd7c'fb7a'f978});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg5e64) {
TestVssegXeXX<UInt64, 5, 1>(0x8000f427, // vsseg5e64.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0x9716'9514'9312'9110,
@@ -7980,6 +8325,9 @@
0xaf2e'ad2c'ab2a'a928,
0xbf3e'bd3c'bb3a'b938,
0xcf4e'cd4c'cb4a'c948});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg6e64) {
TestVssegXeXX<UInt64, 6, 1>(0xa000f427, // vsseg6e64.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0x9716'9514'9312'9110,
@@ -7993,6 +8341,9 @@
0xbf3e'bd3c'bb3a'b938,
0xcf4e'cd4c'cb4a'c948,
0xdf5e'dd5c'db5a'd958});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg7e64) {
TestVssegXeXX<UInt64, 7, 1>(0xc000f427, // vsseg7e64.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0x9716'9514'9312'9110,
@@ -8008,6 +8359,9 @@
0xcf4e'cd4c'cb4a'c948,
0xdf5e'dd5c'db5a'd958,
0xef6e'ed6c'eb6a'e968});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsseg8e64) {
TestVssegXeXX<UInt64, 8, 1>(0xe000f427, // vsseg8e64.v v8, (x1), v0.t
{0x8706'8504'8302'8100,
0x9716'9514'9312'9110,
@@ -8027,7 +8381,7 @@
0xff7e'fd7c'fb7a'f978});
}
-TEST_F(Riscv64InterpreterTest, TestVsssegXeXX) {
+TEST_F(Riscv64InterpreterTest, TestVsse8_vlmul1) {
TestVsssegXeXX<UInt8, 1, 1>(0x8208427, // vsse8.v v8, (x1), x2, v0.t
4,
{0x5555'5581'5555'5500,
@@ -8038,6 +8392,9 @@
0x5555'558b'5555'550a,
0x5555'558d'5555'550c,
0x5555'558f'5555'550e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsse8_vlmul2) {
TestVsssegXeXX<UInt8, 1, 2>(0x8208427, // vsse8.v v8, (x1), x2, v0.t
4,
{0x5555'5581'5555'5500,
@@ -8056,6 +8413,9 @@
0x5555'559b'5555'551a,
0x5555'559d'5555'551c,
0x5555'559f'5555'551e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsse8_vlmul4) {
TestVsssegXeXX<UInt8, 1, 4>(
0x8208427, // vlse8.v v8, (x1), x2, v0.t
4,
@@ -8067,6 +8427,9 @@
0x5555'55a9'5555'5528, 0x5555'55ab'5555'552a, 0x5555'55ad'5555'552c, 0x5555'55af'5555'552e,
0x5555'55b1'5555'5530, 0x5555'55b3'5555'5532, 0x5555'55b5'5555'5534, 0x5555'55b7'5555'5536,
0x5555'55b9'5555'5538, 0x5555'55bb'5555'553a, 0x5555'55bd'5555'553c, 0x5555'55bf'5555'553e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsse8_vlmul8) {
TestVsssegXeXX<UInt8, 1, 8>(
0x8208427, // vsse8.v v8, (x1), x2, v0.t
2,
@@ -8078,6 +8441,9 @@
0x55d3'5552'55d1'5550, 0x55d7'5556'55d5'5554, 0x55db'555a'55d9'5558, 0x55df'555e'55dd'555c,
0x55e3'5562'55e1'5560, 0x55e7'5566'55e5'5564, 0x55eb'556a'55e9'5568, 0x55ef'556e'55ed'556c,
0x55f3'5572'55f1'5570, 0x55f7'5576'55f5'5574, 0x55fb'557a'55f9'5578, 0x55ff'557e'55fd'557c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg2e8_vlmul1) {
TestVsssegXeXX<UInt8, 2, 1>(0x28208427, // vssseg2e8.v v8, (x1), x2, v0.t
4,
{0x5555'9181'5555'1000,
@@ -8088,6 +8454,9 @@
0x5555'9b8b'5555'1a0a,
0x5555'9d8d'5555'1c0c,
0x5555'9f8f'5555'1e0e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg2e8_vlmul2) {
TestVsssegXeXX<UInt8, 2, 2>(0x28208427, // vssseg2e8.v v8, (x1), x2, v0.t
4,
{0x5555'a181'5555'2000,
@@ -8106,6 +8475,9 @@
0x5555'bb9b'5555'3a1a,
0x5555'bd9d'5555'3c1c,
0x5555'bf9f'5555'3e1e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg2e8_vlmul4) {
TestVsssegXeXX<UInt8, 2, 4>(
0x28208427, // vssseg4e8.v v8, (x1), x2, v0.t
4,
@@ -8117,6 +8489,9 @@
0x5555'e9a9'5555'6828, 0x5555'ebab'5555'6a2a, 0x5555'edad'5555'6c2c, 0x5555'efaf'5555'6e2e,
0x5555'f1b1'5555'7030, 0x5555'f3b3'5555'7232, 0x5555'f5b5'5555'7434, 0x5555'f7b7'5555'7636,
0x5555'f9b9'5555'7838, 0x5555'fbbb'5555'7a3a, 0x5555'fdbd'5555'7c3c, 0x5555'ffbf'5555'7e3e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg3e8_vlmul1) {
TestVsssegXeXX<UInt8, 3, 1>(0x48208427, // vssseg3e8.v v8, (x1), x2, v0.t
4,
{0x55a1'9181'5520'1000,
@@ -8127,6 +8502,9 @@
0x55ab'9b8b'552a'1a0a,
0x55ad'9d8d'552c'1c0c,
0x55af'9f8f'552e'1e0e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg3e8_vlmul2) {
TestVsssegXeXX<UInt8, 3, 2>(0x48208427, // vssseg3e8.v v8, (x1), x2, v0.t
4,
{0x55c1'a181'5540'2000,
@@ -8145,6 +8523,9 @@
0x55db'bb9b'555a'3a1a,
0x55dd'bd9d'555c'3c1c,
0x55df'bf9f'555e'3e1e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg4e8_vlmul1) {
TestVsssegXeXX<UInt8, 4, 1>(0x68208427, // vssseg4e8.v v8, (x1), x2, v0.t
4,
{0xb1a1'9181'3020'1000,
@@ -8155,6 +8536,9 @@
0xbbab'9b8b'3a2a'1a0a,
0xbdad'9d8d'3c2c'1c0c,
0xbfaf'9f8f'3e2e'1e0e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg4e8_vlmul2) {
TestVsssegXeXX<UInt8, 4, 2>(0x68208427, // vssseg4e8.v v8, (x1), x2, v0.t
4,
{0xe1c1'a181'6040'2000,
@@ -8173,6 +8557,9 @@
0xfbdb'bb9b'7a5a'3a1a,
0xfddd'bd9d'7c5c'3c1c,
0xffdf'bf9f'7e5e'3e1e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg5e8) {
TestVsssegXeXX<UInt8, 5, 1>(0x88208427, // vssseg5e8.v v8, (x1), x2, v0.t
8,
{0x5555'5540'3020'1000,
@@ -8191,6 +8578,9 @@
0x5555'55cd'bdad'9d8d,
0x5555'554e'3e2e'1e0e,
0x5555'55cf'bfaf'9f8f});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg6e8) {
TestVsssegXeXX<UInt8, 6, 1>(0xa8208427, // vssseg6e8.v v8, (x1), x2, v0.t
8,
{0x5555'5040'3020'1000,
@@ -8209,6 +8599,9 @@
0x5555'ddcd'bdad'9d8d,
0x5555'5e4e'3e2e'1e0e,
0x5555'dfcf'bfaf'9f8f});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg7e8) {
TestVsssegXeXX<UInt8, 7, 1>(0xc8208427, // vssseg7e8.v v8, (x1), x2, v0.t
8,
{0x5560'5040'3020'1000,
@@ -8227,6 +8620,9 @@
0x55ed'ddcd'bdad'9d8d,
0x556e'5e4e'3e2e'1e0e,
0x55ef'dfcf'bfaf'9f8f});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg8e8) {
TestVsssegXeXX<UInt8, 8, 1>(0xe8208427, // vssseg8e8.v v8, (x1), x2, v0.t
8,
{0x7060'5040'3020'1000,
@@ -8245,6 +8641,9 @@
0xfded'ddcd'bdad'9d8d,
0x7e6e'5e4e'3e2e'1e0e,
0xffef'dfcf'bfaf'9f8f});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsse16_vlmul1) {
TestVsssegXeXX<UInt16, 1, 1>(0x820d427, // vsse16.v v8, (x1), x2, v0.t
8,
{0x5555'5555'5555'8100,
@@ -8255,7 +8654,9 @@
0x5555'5555'5555'8b0a,
0x5555'5555'5555'8d0c,
0x5555'5555'5555'8f0e});
+}
+TEST_F(Riscv64InterpreterTest, TestVsse16_vlmul2) {
TestVsssegXeXX<UInt16, 1, 2>(0x820d427, // vsse16.v v8, (x1), x2, v0.t
8,
{0x5555'5555'5555'8100,
@@ -8274,6 +8675,9 @@
0x5555'5555'5555'9b1a,
0x5555'5555'5555'9d1c,
0x5555'5555'5555'9f1e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsse16_vlmul4) {
TestVsssegXeXX<UInt16, 1, 4>(
0x820d427, // vsse16.v v8, (x1), x2, v0.t
8,
@@ -8285,6 +8689,9 @@
0x5555'5555'5555'a928, 0x5555'5555'5555'ab2a, 0x5555'5555'5555'ad2c, 0x5555'5555'5555'af2e,
0x5555'5555'5555'b130, 0x5555'5555'5555'b332, 0x5555'5555'5555'b534, 0x5555'5555'5555'b736,
0x5555'5555'5555'b938, 0x5555'5555'5555'bb3a, 0x5555'5555'5555'bd3c, 0x5555'5555'5555'bf3e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsse16_vlmul8) {
TestVsssegXeXX<UInt16, 1, 8>(
0x820d427, // vsse16.v v8, (x1), x2, v0.t
4,
@@ -8296,6 +8703,9 @@
0x5555'd352'5555'd150, 0x5555'd756'5555'd554, 0x5555'db5a'5555'd958, 0x5555'df5e'5555'dd5c,
0x5555'e362'5555'e160, 0x5555'e766'5555'e564, 0x5555'eb6a'5555'e968, 0x5555'ef6e'5555'ed6c,
0x5555'f372'5555'f170, 0x5555'f776'5555'f574, 0x5555'fb7a'5555'f978, 0x5555'ff7e'5555'fd7c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg2e16_vlmul1) {
TestVsssegXeXX<UInt16, 2, 1>(0x2820d427, // vssseg2e16.v v8, (x1), x2, v0.t
8,
{0x5555'5555'9110'8100,
@@ -8306,6 +8716,9 @@
0x5555'5555'9b1a'8b0a,
0x5555'5555'9d1c'8d0c,
0x5555'5555'9f1e'8f0e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg2e16_vlmul2) {
TestVsssegXeXX<UInt16, 2, 2>(0x2820d427, // vssseg2e16.v v8, (x1), x2, v0.t
8,
{0x5555'5555'a120'8100,
@@ -8324,6 +8737,9 @@
0x5555'5555'bb3a'9b1a,
0x5555'5555'bd3c'9d1c,
0x5555'5555'bf3e'9f1e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg2e16_vlmul4) {
TestVsssegXeXX<UInt16, 2, 4>(
0x2820d427, // vssseg2e16.v v8, (x1), x2, v0.t
8,
@@ -8335,6 +8751,9 @@
0x5555'5555'e968'a928, 0x5555'5555'eb6a'ab2a, 0x5555'5555'ed6c'ad2c, 0x5555'5555'ef6e'af2e,
0x5555'5555'f170'b130, 0x5555'5555'f372'b332, 0x5555'5555'f574'b534, 0x5555'5555'f776'b736,
0x5555'5555'f978'b938, 0x5555'5555'fb7a'bb3a, 0x5555'5555'fd7c'bd3c, 0x5555'5555'ff7e'bf3e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg3e16_vlmul1) {
TestVsssegXeXX<UInt16, 3, 1>(0x4820d427, // vssseg3e16.v v8, (x1), x2, v0.t
8,
{0x5555'a120'9110'8100,
@@ -8345,6 +8764,9 @@
0x5555'ab2a'9b1a'8b0a,
0x5555'ad2c'9d1c'8d0c,
0x5555'af2e'9f1e'8f0e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg3e16_vlmul2) {
TestVsssegXeXX<UInt16, 3, 2>(0x4820d427, // vssseg3e16.v v8, (x1), x2, v0.t
8,
{0x5555'c140'a120'8100,
@@ -8363,6 +8785,9 @@
0x5555'db5a'bb3a'9b1a,
0x5555'dd5c'bd3c'9d1c,
0x5555'df5e'bf3e'9f1e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg4e16_vlmul1) {
TestVsssegXeXX<UInt16, 4, 1>(0x6820d427, // vssseg4e16.v v8, (x1), x2, v0.t
8,
{0xb130'a120'9110'8100,
@@ -8373,6 +8798,9 @@
0xbb3a'ab2a'9b1a'8b0a,
0xbd3c'ad2c'9d1c'8d0c,
0xbf3e'af2e'9f1e'8f0e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg4e16_vlmul2) {
TestVsssegXeXX<UInt16, 4, 2>(0x6820d427, // vssseg4e16.v v8, (x1), x2, v0.t
8,
{0xe160'c140'a120'8100,
@@ -8391,6 +8819,9 @@
0xfb7a'db5a'bb3a'9b1a,
0xfd7c'dd5c'bd3c'9d1c,
0xff7e'df5e'bf3e'9f1e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg5e16) {
TestVsssegXeXX<UInt16, 5, 1>(0x8820d427, // vssseg5e16.v v8, (x1), x2, v0.t
16,
{0xb130'a120'9110'8100,
@@ -8409,6 +8840,9 @@
0x5555'5555'5555'cd4c,
0xbf3e'af2e'9f1e'8f0e,
0x5555'5555'5555'cf4e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg6e16) {
TestVsssegXeXX<UInt16, 6, 1>(0xa820d427, // vssseg6e16.v v8, (x1), x2, v0.t
16,
{0xb130'a120'9110'8100,
@@ -8427,6 +8861,9 @@
0x5555'5555'dd5c'cd4c,
0xbf3e'af2e'9f1e'8f0e,
0x5555'5555'df5e'cf4e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg7e16) {
TestVsssegXeXX<UInt16, 7, 1>(0xc820d427, // vssseg7e16.v v8, (x1), x2, v0.t
16,
{0xb130'a120'9110'8100,
@@ -8445,6 +8882,9 @@
0x5555'ed6c'dd5c'cd4c,
0xbf3e'af2e'9f1e'8f0e,
0x5555'ef6e'df5e'cf4e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg8e16) {
TestVsssegXeXX<UInt16, 8, 1>(0xe820d427, // vssseg8e16.v v8, (x1), x2, v0.t
16,
{0xb130'a120'9110'8100,
@@ -8463,6 +8903,9 @@
0xfd7c'ed6c'dd5c'cd4c,
0xbf3e'af2e'9f1e'8f0e,
0xff7e'ef6e'df5e'cf4e});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsse32_vlmul1) {
TestVsssegXeXX<UInt32, 1, 1>(0x820e427, // vsse32.v v8, (x1), x2, v0.t
16,
{0x5555'5555'8302'8100,
@@ -8472,6 +8915,9 @@
0x5555'5555'8b0a'8908,
0x5555'5555'5555'5555,
0x5555'5555'8f0e'8d0c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsse32_vlmul2) {
TestVsssegXeXX<UInt32, 1, 2>(0x820e427, // vsse32.v v8, (x1), x2, v0.t
16,
{0x5555'5555'8302'8100,
@@ -8489,6 +8935,9 @@
0x5555'5555'9b1a'9918,
0x5555'5555'5555'5555,
0x5555'5555'9f1e'9d1c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsse32_vlmul4) {
TestVsssegXeXX<UInt32, 1, 4>(
0x820e427, // vsse32.v v8, (x1), x2, v0.t
16,
@@ -8500,6 +8949,9 @@
0x5555'5555'ab2a'a928, 0x5555'5555'5555'5555, 0x5555'5555'af2e'ad2c, 0x5555'5555'5555'5555,
0x5555'5555'b332'b130, 0x5555'5555'5555'5555, 0x5555'5555'b736'b534, 0x5555'5555'5555'5555,
0x5555'5555'bb3a'b938, 0x5555'5555'5555'5555, 0x5555'5555'bf3e'bd3c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsse32_vlmul8) {
TestVsssegXeXX<UInt32, 1, 8>(
0x820e427, // vsse32.v v8, (x1), x2, v0.t
8,
@@ -8511,6 +8963,9 @@
0x5555'5555'd352'd150, 0x5555'5555'd756'd554, 0x5555'5555'db5a'd958, 0x5555'5555'df5e'dd5c,
0x5555'5555'e362'e160, 0x5555'5555'e766'e564, 0x5555'5555'eb6a'e968, 0x5555'5555'ef6e'ed6c,
0x5555'5555'f372'f170, 0x5555'5555'f776'f574, 0x5555'5555'fb7a'f978, 0x5555'5555'ff7e'fd7c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg2e32_vlmul1) {
TestVsssegXeXX<UInt32, 2, 1>(0x2820e427, // vssseg2e32.v v8, (x1), x2, v0.t
16,
{0x9312'9110'8302'8100,
@@ -8520,6 +8975,9 @@
0x9b1a'9918'8b0a'8908,
0x5555'5555'5555'5555,
0x9f1e'9d1c'8f0e'8d0c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg2e32_vlmul2) {
TestVsssegXeXX<UInt32, 2, 2>(0x2820e427, // vssseg2e32.v v8, (x1), x2, v0.t
16,
{0xa322'a120'8302'8100,
@@ -8537,6 +8995,9 @@
0xbb3a'b938'9b1a'9918,
0x5555'5555'5555'5555,
0xbf3e'bd3c'9f1e'9d1c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg2e32_vlmul4) {
TestVsssegXeXX<UInt32, 2, 4>(
0x2820e427, // vssseg2e32.v v8, (x1), x2, v0.t
16,
@@ -8548,6 +9009,9 @@
0xeb6a'e968'ab2a'a928, 0x5555'5555'5555'5555, 0xef6e'ed6c'af2e'ad2c, 0x5555'5555'5555'5555,
0xf372'f170'b332'b130, 0x5555'5555'5555'5555, 0xf776'f574'b736'b534, 0x5555'5555'5555'5555,
0xfb7a'f978'bb3a'b938, 0x5555'5555'5555'5555, 0xff7e'fd7c'bf3e'bd3c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg3e32_vlmul1) {
TestVsssegXeXX<UInt32, 3, 1>(0x4820e427, // vssseg3e32.v v8, (x1), x2, v0.t
16,
{0x9312'9110'8302'8100,
@@ -8558,6 +9022,9 @@
0x5555'5555'ab2a'a928,
0x9f1e'9d1c'8f0e'8d0c,
0x5555'5555'af2e'ad2c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg3e32_vlmul2) {
TestVsssegXeXX<UInt32, 3, 2>(0x4820e427, // vssseg3e32.v v8, (x1), x2, v0.t
16,
{0xa322'a120'8302'8100,
@@ -8576,6 +9043,9 @@
0x5555'5555'db5a'd958,
0xbf3e'bd3c'9f1e'9d1c,
0x5555'5555'df5e'dd5c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg4e32_vlmul1) {
TestVsssegXeXX<UInt32, 4, 1>(0x6820e427, // vssseg4e32.v v8, (x1), x2, v0.t
16,
{0x9312'9110'8302'8100,
@@ -8586,6 +9056,9 @@
0xbb3a'b938'ab2a'a928,
0x9f1e'9d1c'8f0e'8d0c,
0xbf3e'bd3c'af2e'ad2c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg4e32_vlmul2) {
TestVsssegXeXX<UInt32, 4, 2>(0x6820e427, // vssseg4e32.v v8, (x1), x2, v0.t
16,
{0xa322'a120'8302'8100,
@@ -8604,6 +9077,9 @@
0xfb7a'f978'db5a'd958,
0xbf3e'bd3c'9f1e'9d1c,
0xff7e'fd7c'df5e'dd5c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg5e32) {
TestVsssegXeXX<UInt32, 5, 1>(0x8820e427, // vssseg5e32.v v8, (x1), x2, v0.t
32,
{0x9312'9110'8302'8100,
@@ -8621,6 +9097,9 @@
0x9f1e'9d1c'8f0e'8d0c,
0xbf3e'bd3c'af2e'ad2c,
0x5555'5555'cf4e'cd4c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg6e32) {
TestVsssegXeXX<UInt32, 6, 1>(0xa820e427, // vssseg6e32.v v8, (x1), x2, v0.t
32,
{0x9312'9110'8302'8100,
@@ -8638,6 +9117,9 @@
0x9f1e'9d1c'8f0e'8d0c,
0xbf3e'bd3c'af2e'ad2c,
0xdf5e'dd5c'cf4e'cd4c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg7e32) {
TestVsssegXeXX<UInt32, 7, 1>(0xc820e427, // vssseg7e32.v v8, (x1), x2, v0.t
32,
{0x9312'9110'8302'8100,
@@ -8656,6 +9138,9 @@
0xbf3e'bd3c'af2e'ad2c,
0xdf5e'dd5c'cf4e'cd4c,
0x5555'5555'ef6e'ed6c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg8e32) {
TestVsssegXeXX<UInt32, 8, 1>(0xe820e427, // vssseg8e32.v v8, (x1), x2, v0.t
32,
{0x9312'9110'8302'8100,
@@ -8674,6 +9159,9 @@
0xbf3e'bd3c'af2e'ad2c,
0xdf5e'dd5c'cf4e'cd4c,
0xff7e'fd7c'ef6e'ed6c});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsse64_vlmul1) {
TestVsssegXeXX<UInt64, 1, 1>(0x820f427, // vsse64.v v8, (x1), x2, v0.t
32,
{0x8706'8504'8302'8100,
@@ -8681,6 +9169,9 @@
0x5555'5555'5555'5555,
0x5555'5555'5555'5555,
0x8f0e'8d0c'8b0a'8908});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsse64_vlmul2) {
TestVsssegXeXX<UInt64, 1, 2>(0x820f427, // vsse64.v v8, (x1), x2, v0.t
32,
{0x8706'8504'8302'8100,
@@ -8696,6 +9187,9 @@
0x5555'5555'5555'5555,
0x5555'5555'5555'5555,
0x9f1e'9d1c'9b1a'9918});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsse64_vlmul4) {
TestVsssegXeXX<UInt64, 1, 4>(
0x820f427, // vsse64.v v8, (x1), x2, v0.t
32,
@@ -8707,6 +9201,9 @@
0xaf2e'ad2c'ab2a'a928, 0x5555'5555'5555'5555, 0x5555'5555'5555'5555, 0x5555'5555'5555'5555,
0xb736'b534'b332'b130, 0x5555'5555'5555'5555, 0x5555'5555'5555'5555, 0x5555'5555'5555'5555,
0xbf3e'bd3c'bb3a'b938});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVsse64_vlmul8) {
TestVsssegXeXX<UInt64, 1, 8>(
0x820f427, // vsse64.v v8, (x1), x2, v0.t
16,
@@ -8718,6 +9215,9 @@
0xd756'd554'd352'd150, 0x5555'5555'5555'5555, 0xdf5e'dd5c'db5a'd958, 0x5555'5555'5555'5555,
0xe766'e564'e362'e160, 0x5555'5555'5555'5555, 0xef6e'ed6c'eb6a'e968, 0x5555'5555'5555'5555,
0xf776'f574'f372'f170, 0x5555'5555'5555'5555, 0xff7e'fd7c'fb7a'f978});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg2e64_vlmul1) {
TestVsssegXeXX<UInt64, 2, 1>(0x2820f427, // vssseg2e64.v v8, (x1), x2, v0.t
32,
{0x8706'8504'8302'8100,
@@ -8726,6 +9226,9 @@
0x5555'5555'5555'5555,
0x8f0e'8d0c'8b0a'8908,
0x9f1e'9d1c'9b1a'9918});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg2e64_vlmul2) {
TestVsssegXeXX<UInt64, 2, 2>(0x2820f427, // vssseg2e64.v v8, (x1), x2, v0.t
32,
{0x8706'8504'8302'8100,
@@ -8742,6 +9245,9 @@
0x5555'5555'5555'5555,
0x9f1e'9d1c'9b1a'9918,
0xbf3e'bd3c'bb3a'b938});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg2e64_vlmul4) {
TestVsssegXeXX<UInt64, 2, 4>(0x2820f427, // vssseg2e64.v v8, (x1), x2, v0.t
16,
{0x8706'8504'8302'8100,
@@ -8760,6 +9266,9 @@
0xf776'f574'f372'f170,
0xbf3e'bd3c'bb3a'b938,
0xff7e'fd7c'fb7a'f978});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg3e64_vlmul1) {
TestVsssegXeXX<UInt64, 3, 1>(0x4820f427, // vssseg3e64.v v8, (x1), x2, v0.t
32,
{0x8706'8504'8302'8100,
@@ -8769,6 +9278,9 @@
0x8f0e'8d0c'8b0a'8908,
0x9f1e'9d1c'9b1a'9918,
0xaf2e'ad2c'ab2a'a928});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg3e64_vlmul2) {
TestVsssegXeXX<UInt64, 3, 2>(0x4820f427, // vssseg3e64.v v8, (x1), x2, v0.t
32,
{0x8706'8504'8302'8100,
@@ -8786,6 +9298,9 @@
0x9f1e'9d1c'9b1a'9918,
0xbf3e'bd3c'bb3a'b938,
0xdf5e'dd5c'db5a'd958});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg4e64_vlmul1) {
TestVsssegXeXX<UInt64, 4, 1>(0x6820f427, // vssseg4e64.v v8, (x1), x2, v0.t
32,
{0x8706'8504'8302'8100,
@@ -8796,6 +9311,9 @@
0x9f1e'9d1c'9b1a'9918,
0xaf2e'ad2c'ab2a'a928,
0xbf3e'bd3c'bb3a'b938});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg4e64_vlmul2) {
TestVsssegXeXX<UInt64, 4, 2>(0x6820f427, // vssseg4e64.v v8, (x1), x2, v0.t
32,
{0x8706'8504'8302'8100,
@@ -8814,6 +9332,9 @@
0xbf3e'bd3c'bb3a'b938,
0xdf5e'dd5c'db5a'd958,
0xff7e'fd7c'fb7a'f978});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg5e64) {
TestVsssegXeXX<UInt64, 5, 1>(0x8820f427, // vssseg5e64.v v8, (x1), x2, v0.t
64,
{0x8706'8504'8302'8100,
@@ -8829,6 +9350,9 @@
0xaf2e'ad2c'ab2a'a928,
0xbf3e'bd3c'bb3a'b938,
0xcf4e'cd4c'cb4a'c948});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg6e64) {
TestVsssegXeXX<UInt64, 6, 1>(0xa820f427, // vssseg6e64.v v8, (x1), x2, v0.t
64,
{0x8706'8504'8302'8100,
@@ -8845,6 +9369,9 @@
0xbf3e'bd3c'bb3a'b938,
0xcf4e'cd4c'cb4a'c948,
0xdf5e'dd5c'db5a'd958});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg7e64) {
TestVsssegXeXX<UInt64, 7, 1>(0xc820f427, // vssseg7e64.v v8, (x1), x2, v0.t
64,
{0x8706'8504'8302'8100,
@@ -8862,6 +9389,9 @@
0xcf4e'cd4c'cb4a'c948,
0xdf5e'dd5c'db5a'd958,
0xef6e'ed6c'eb6a'e968});
+}
+
+TEST_F(Riscv64InterpreterTest, TestVssseg8e64) {
TestVsssegXeXX<UInt64, 8, 1>(0xe820f427, // vssseg8e64.v v8, (x1), x2, v0.t
64,
{0x8706'8504'8302'8100,