@@ -17,55 +17,69 @@ void TEST_CASE1(void) {
1717
1818//*******Checking functionality of vle16 with different values of masking register******//
1919void TEST_CASE2 (void ) {
20+ VSET (2 , e8 , m1 );
21+ VCLEAR (v0 );
22+ VLOAD_8 (v0 , 0xFF , 0xFF );
23+
2024 VSET (16 , e16 , m1 );
2125 volatile uint16_t INP1 [] = {0xFFe0 , 0xFFd3 , 0xFF40 , 0xFFd1 , 0xFF84 , 0xFF48 , 0xFF89 , 0xFF88 ,
2226 0xFF88 , 0xFFae , 0xFF08 , 0xFF91 , 0xFF02 , 0xFF59 , 0xFF11 , 0xFF89 };
2327 VCLEAR (v1 );
24- VLOAD_8 (v0 , 0xFF , 0xFF );
25- VSET (16 , e16 , m1 );
2628 asm volatile ("vle16.v v1, (%0), v0.t" ::"r" (INP1 ));
2729 VCMP_U16 (2 , v1 , 0xFFe0 , 0xFFd3 , 0xFF40 , 0xFFd1 , 0xFF84 , 0xFF48 , 0xFF89 , 0xFF88 ,
2830 0xFF88 , 0xFFae , 0xFF08 , 0xFF91 , 0xFF02 , 0xFF59 , 0xFF11 , 0xFF89 );
2931}
3032
3133void TEST_CASE3 (void ) {
34+ VSET (2 , e8 , m1 );
35+ VCLEAR (v0 );
36+ VLOAD_8 (v0 , 0x00 , 0x00 );
37+
3238 VSET (16 , e16 , m1 );
3339 volatile uint16_t INP1 [] = {0xFFe0 , 0xFFd3 , 0xFF40 , 0xFFd1 , 0xFF84 , 0xFF48 , 0xFF89 , 0xFF88 ,
3440 0xFF88 , 0xFFae , 0xFF08 , 0xFF91 , 0xFF02 , 0xFF59 , 0xFF11 , 0xFF89 };
3541 VLOAD_16 (v1 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 );
36- VLOAD_8 (v0 , 0x00 , 0x00 );
37- VSET (16 , e16 , m1 );
3842 asm volatile ("vle16.v v1, (%0), v0.t" ::"r" (INP1 ));
3943 VCMP_U16 (3 , v1 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 );
4044}
4145
4246void TEST_CASE4 (void ) {
47+ VSET (2 , e8 , m1 );
48+ VCLEAR (v0 );
49+ VLOAD_8 (v0 , 0xAA , 0xAA );
50+
4351 VSET (16 , e16 , m1 );
4452 volatile uint16_t INP1 [] = {0xFFe0 , 0xFFd3 , 0xFF40 , 0xFFd1 , 0xFF84 , 0xFF48 , 0xFF89 , 0xFF88 ,
4553 0xFF88 , 0xFFae , 0xFF08 , 0xFF91 , 0xFF02 , 0xFF59 , 0xFF11 , 0xFF89 };
4654 VCLEAR (v1 );
4755 VLOAD_16 (v1 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 );
48- VLOAD_8 (v0 , 0xAA , 0xAA );
49- VSET (16 , e16 , m1 );
56+
5057 asm volatile ("vle16.v v1, (%0), v0.t" ::"r" (INP1 ));
5158 VCMP_U16 (4 , v1 , 1 , 0xFFd3 , 3 , 0xFFd1 , 5 , 0xFF48 , 7 , 0xFF88 ,
5259 9 , 0xFFae , 11 , 0xFF91 , 13 , 0xFF59 , 15 , 0xFF89 );
5360}
5461
5562void TEST_CASE5 (void ) {
63+ VSET (2 , e8 , m1 );
64+ VCLEAR (v0 );
65+ VLOAD_8 (v0 , 0xAA , 0xAA );
66+
5667 VSET (16 , e16 , m8 );
5768 volatile uint16_t INP1 [] = {0xFFe0 , 0xFFd3 , 0xFF40 , 0xFFd1 , 0xFF84 , 0xFF48 , 0xFF89 , 0xFF88 ,
5869 0xFF88 , 0xFFae , 0xFF08 , 0xFF91 , 0xFF02 , 0xFF59 , 0xFF11 , 0xFF89 };
5970 VCLEAR (v8 );
6071 VLOAD_16 (v8 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 );
61- VLOAD_8 (v0 , 0xAA , 0xAA );
62- VSET (16 , e16 , m8 );
72+
6373 asm volatile ("vle16.v v8, (%0), v0.t" ::"r" (INP1 ));
6474 VCMP_U16 (5 , v8 , 1 , 0xFFd3 , 3 , 0xFFd1 , 5 , 0xFF48 , 7 , 0xFF88 ,
6575 9 , 0xFFae , 11 , 0xFF91 , 13 , 0xFF59 , 15 , 0xFF89 );
6676}
6777
6878void TEST_CASE6 (void ) {
79+ VSET (8 , e8 , m1 );
80+ VCLEAR (v0 );
81+ VLOAD_8 (v0 , 0xAA , 0xAA , 0xAA , 0xAA , 0xAA , 0xAA , 0xAA , 0xAA );
82+
6983 VSET (64 , e16 , m8 );
7084 volatile uint16_t INP1 [] = {
7185 0x0000 , 0x0001 , 0x0002 , 0x0003 , 0x0004 , 0x0005 , 0x0006 , 0x0007 ,
@@ -83,9 +97,6 @@ void TEST_CASE6(void) {
8397 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 , 41 , 42 , 43 , 44 , 45 , 46 , 47 , 48 ,
8498 49 , 50 , 51 , 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , 63 , 64 );
8599
86-
87- VLOAD_8 (v0 , 0xAA , 0xAA , 0xAA , 0xAA , 0xAA , 0xAA , 0xAA , 0xAA );
88- VSET (64 , e16 , m8 );
89100 asm volatile ("vle16.v v8, (%0), v0.t" ::"r" (INP1 ));
90101 VCMP_U16 (6 , v8 , 1 , 0x0001 , 3 , 0x0003 , 5 , 0x0005 , 7 , 0x0007 , 9 , 0x0009 , 11 , 0x000B , 13 , 0x000D , 15 , 0x000F ,
91102 17 , 0x0011 , 19 , 0x0013 , 21 , 0x0015 , 23 , 0x0017 , 25 , 0x0019 ,27 , 0x001B , 29 , 0x001D , 31 , 0x001F ,
0 commit comments