1  /* { dg-do compile } */
       2  /* { dg-options "-march=rv32gcv -mabi=ilp32d -O3 -fno-schedule-insns -fno-schedule-insns2" } */
       3  
       4  #include "riscv_vector.h"
       5  
       6  void f0 (uint16_t *base,uint8_t *out,size_t vl, size_t shift)
       7  {
       8      vuint16m2_t src = __riscv_vle16_v_u16m2 (base, vl);
       9      vuint8m1_t v = __riscv_vnclipu_wx_u8m1(src,shift,vl);
      10      v = __riscv_vnclipu_wv_u8m1(src,v,vl);
      11      __riscv_vse8_v_u8m1 (out,v,vl);
      12  }
      13  
      14  void f1 (uint16_t *base,uint8_t *out,size_t vl, size_t shift)
      15  {
      16      vuint16m2_t src = __riscv_vle16_v_u16m2 (base, vl);
      17      vuint8m1_t v = __riscv_vnclipu_wx_u8m1(src,shift,vl);
      18      v = __riscv_vnclipu_wv_u8m1(src,v,vl);
      19      __riscv_vse8_v_u8m1 (out,v,vl);
      20  }
      21  
      22  void f2 (void *base,void *out,size_t vl, size_t shift)
      23  {
      24      vuint16m2_t src = __riscv_vle16_v_u16m2 (base, vl);
      25      vuint8m1_t v = __riscv_vnclipu_wx_u8m1(src,shift,vl);
      26      v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
      27      __riscv_vse8_v_u8m1 (out,v,vl);
      28      __riscv_vse16_v_u16m2 (out+100,src,vl);
      29  }
      30  
      31  void f3 (void *base,void *out,size_t vl, size_t shift)
      32  {
      33      vuint16m2_t src = __riscv_vle16_v_u16m2 (base, vl);
      34      vuint8m1_t v = __riscv_vnclipu_wx_u8m1(src,shift,vl);
      35      v = __riscv_vnclipu_wv_u8m1(src,v,vl);
      36      __riscv_vse8_v_u8m1 (out,v,vl);
      37      __riscv_vse16_v_u16m2 (out+100,src,vl);
      38  }
      39  
      40  void f4 (void *base,void *out,size_t vl, size_t shift)
      41  {
      42      vbool8_t m = __riscv_vlm_v_b8 (base + 500, vl);
      43      vuint16m2_t src = __riscv_vle16_v_u16m2 (base, vl);
      44      vuint8m1_t v = __riscv_vnclipu_wx_u8m1(src,shift,vl);
      45      v = __riscv_vnclipu_wv_u8m1_tumu(m,v,src,v,vl);
      46      __riscv_vse8_v_u8m1 (out,v,vl);
      47      __riscv_vse16_v_u16m2 (out+100,src,vl);
      48  }
      49  
      50  void f5 (void *base,void *out,size_t vl, size_t shift)
      51  {
      52      vbool8_t m = __riscv_vlm_v_b8 (base + 500, vl);
      53      vuint16m2_t src = __riscv_vle16_v_u16m2 (base, vl);
      54      vuint8m1_t v = __riscv_vnclipu_wx_u8m1(src,shift,vl);
      55      v = __riscv_vnclipu_wv_u8m1_m(m,src,v,vl);
      56      __riscv_vse8_v_u8m1 (out,v,vl);
      57      __riscv_vse16_v_u16m2 (out+100,src,vl);
      58  }
      59  
      60  void f6 (void *base,void *out,size_t vl, size_t shift)
      61  {
      62      vbool8_t m = __riscv_vlm_v_b8 (base + 500, vl);
      63      vuint8m1_t v = __riscv_vle8_v_u8m1 (base + 600, vl);
      64      vuint16m2_t src = __riscv_vle16_v_u16m2 (base, vl);
      65      vuint8m1_t v2 = __riscv_vnclipu_wv_u8m1_m(m,src,v,vl);
      66      __riscv_vse8_v_u8m1 (out,v2,vl);
      67      __riscv_vse8_v_u8m1 (out+100,v,vl);
      68  }
      69  
      70  void f7 (void *base,void *out,size_t vl, size_t shift)
      71  {
      72      vuint8m1_t v = __riscv_vle8_v_u8m1 (base + 600, vl);
      73      vuint16m2_t src = __riscv_vle16_v_u16m2 (base, vl);
      74      vuint8m1_t v2 = __riscv_vnclipu_wx_u8m1(src,shift,vl);
      75      v2 = __riscv_vnclipu_wv_u8m1 (src,v,vl);
      76      __riscv_vse8_v_u8m1 (out,v2,vl);
      77      __riscv_vse8_v_u8m1 (out+100,v,vl);
      78  }
      79  
      80  void f8 (void *base,void *out,size_t vl, size_t shift)
      81  {
      82      vuint8m1_t v = __riscv_vle8_v_u8m1 (base + 600, vl);
      83      vuint16m2_t src = __riscv_vle16_v_u16m2 (base, vl);
      84      vuint8m1_t v2 = __riscv_vnclipu_wx_u8m1(src,shift,vl);
      85      v2 = __riscv_vnclipu_wv_u8m1 (src,v,vl);
      86      __riscv_vse8_v_u8m1 (out,v2,vl);
      87      __riscv_vse8_v_u8m1 (out+100,v,vl);
      88      __riscv_vse16_v_u16m2 (out+200,src,vl);
      89  }
      90  
      91  void f9 (void *base,void *out,size_t vl, size_t shift)
      92  {
      93      vuint8m1_t v = __riscv_vle8_v_u8m1 (base + 600, vl);
      94      vuint16m2_t src = __riscv_vle16_v_u16m2 (base, vl);
      95      vuint8m1_t v2 = __riscv_vnclipu_wx_u8m1(src,shift,vl);
      96      v2 = __riscv_vnclipu_wv_u8m1_tu (v2,src,v,vl);
      97      __riscv_vse8_v_u8m1 (out,v2,vl);
      98      __riscv_vse8_v_u8m1 (out+100,v,vl);
      99      __riscv_vse16_v_u16m2 (out+200,src,vl);
     100  }
     101  
     102  void f10 (void *base,void *out,size_t vl, size_t shift)
     103  {
     104      vuint16m2_t src = __riscv_vle16_v_u16m2 (base, vl);
     105      vuint8m1_t v = __riscv_vnclipu_wx_u8m1(src,shift,vl);
     106      v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
     107      v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
     108      v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
     109      v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
     110      __riscv_vse8_v_u8m1 (out,v,vl);
     111      __riscv_vse16_v_u16m2 (out+100,src,vl);
     112  }
     113  
     114  void f11 (void *base,void *out,size_t vl, size_t shift)
     115  {
     116      vuint8m1_t v = __riscv_vle8_v_u8m1 (base + 600, vl);
     117      vuint16m2_t src = __riscv_vle16_v_u16m2 (base, vl);
     118      vuint8m1_t v2 = __riscv_vnclipu_wx_u8m1(src,shift,vl);
     119      v2 = __riscv_vnclipu_wv_u8m1_tu (v2,src,v,vl);
     120      v2 = __riscv_vnclipu_wv_u8m1_tu (v2,src,v,vl);
     121      v2 = __riscv_vnclipu_wv_u8m1_tu (v2,src,v,vl);
     122      v2 = __riscv_vnclipu_wv_u8m1_tu (v2,src,v,vl);
     123      v2 = __riscv_vnclipu_wv_u8m1_tu (v2,src,v,vl);
     124      __riscv_vse8_v_u8m1 (out,v2,vl);
     125      __riscv_vse8_v_u8m1 (out+100,v,vl);
     126      __riscv_vse16_v_u16m2 (out+200,src,vl);
     127  }
     128  
     129  void f12 (void *base,void *out,size_t vl, size_t shift)
     130  {
     131      vuint8m1_t v = __riscv_vle8_v_u8m1 (base + 600, vl);
     132      vuint16m2_t src = __riscv_vle16_v_u16m2 (base, vl);
     133      vuint8m1_t v2 = __riscv_vnclipu_wx_u8m1(src,shift,vl);
     134      v2 = __riscv_vnclipu_wv_u8m1(src,v2,vl);
     135      v2 = __riscv_vnclipu_wv_u8m1(src,v2,vl);
     136      v2 = __riscv_vnclipu_wv_u8m1(src,v2,vl);
     137      v2 = __riscv_vnclipu_wv_u8m1 (src,v2,vl);
     138      __riscv_vse8_v_u8m1 (out,v2,vl);
     139      __riscv_vse8_v_u8m1 (out+100,v,vl);
     140  }
     141  
     142  void f13 (void *base,void *base2,void *out,size_t vl, int n)
     143  {
     144      vuint16m2_t src = __riscv_vle16_v_u16m2 (base + 100, vl);
     145      for (int i = 0; i < n; i++){
     146        vbool8_t m = __riscv_vlm_v_b8 (base + i, vl);
     147        vuint8m1_t v = __riscv_vnclipu_wx_u8m1_m(m,src,vl,vl);
     148        v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
     149        v = __riscv_vle8_v_u8m1_tu (v, base2, vl);
     150        __riscv_vse8_v_u8m1 (out + 100*i,v,vl);
     151      }
     152  }
     153  
     154  void f14 (void *base,void *base2,void *out,size_t vl, int n)
     155  {
     156      vuint16m2_t src = __riscv_vle16_v_u16m2 (base + 100, vl);
     157      for (int i = 0; i < n; i++){
     158        vbool8_t m = __riscv_vlm_v_b8 (base + i, vl);
     159        vuint8m1_t v = __riscv_vle8_v_u8m1 (base + 600, vl);
     160        vuint8m1_t v2 = __riscv_vnclipu_wv_u8m1(src,v,vl);
     161        v = __riscv_vle8_v_u8m1_tu (v, base2, vl);
     162        __riscv_vse8_v_u8m1 (out + 100*i,v,vl);
     163        __riscv_vse8_v_u8m1 (out + 100*i,v2,vl);
     164      }
     165  }
     166  
     167  void f15 (void *base,void *base2,void *out,size_t vl, int n)
     168  {
     169      vuint16m2_t src = __riscv_vle16_v_u16m2 (base + 100, vl);
     170      for (int i = 0; i < n; i++){
     171        vbool8_t m = __riscv_vlm_v_b8 (base + i, vl);
     172        vuint8m1_t v = __riscv_vle8_v_u8m1 (base + 600, vl);
     173        vuint8m1_t v2 = __riscv_vnclipu_wv_u8m1(src,v,vl);
     174        v = __riscv_vnclipu_wv_u8m1(src,v,vl);
     175        v = __riscv_vnclipu_wv_u8m1(src,v,vl);
     176        v = __riscv_vnclipu_wv_u8m1(src,v,vl);
     177        v = __riscv_vnclipu_wv_u8m1(src,v,vl);
     178        v = __riscv_vle8_v_u8m1_tu (v, base2, vl);
     179        __riscv_vse8_v_u8m1 (out + 100*i,v,vl);
     180        __riscv_vse8_v_u8m1 (out + 100*i,v2,vl);
     181      }
     182  }
     183  
     184  void f16 (uint16_t *base,uint8_t *out,size_t vl, size_t shift)
     185  {
     186      vuint16m2_t src = __riscv_vle16_v_u16m2 (base, vl);
     187      vuint8m1_t v = __riscv_vncvt_x_x_w_u8m1(src,vl);
     188      vuint8m1_t v3 = __riscv_vnclipu_wv_u8m1(src,v,vl);
     189      __riscv_vse8_v_u8m1 (out,v,vl);
     190      __riscv_vse8_v_u8m1 (out + 100,v3,vl);
     191  }
     192  
     193  void f17 (void *base,void *out,size_t vl, int n)
     194  {
     195      for (int i = 0; i < n; i++){
     196        vuint16m2_t src = __riscv_vle16_v_u16m2 (base + 100*i, vl);
     197        vuint8m1_t src2 = __riscv_vle8_v_u8m1 (base + 200*i, vl);
     198        vuint8m1_t v = __riscv_vnclipu_wv_u8m1(src,src2,vl);
     199        vuint16m2_t v2 = __riscv_vadd_vv_u16m2 (src, src,vl);
     200        asm volatile ("":::"memory");
     201        __riscv_vse8_v_u8m1 (out + 100*i,v,vl);
     202        __riscv_vse16_v_u16m2 ((out + 200*i),src,vl);
     203        __riscv_vse8_v_u8m1 ((out + 300*i),src2,vl);
     204      }
     205  }
     206  
     207  void f18 (void *base,void *out,size_t vl, int n)
     208  {
     209      vuint8m1_t v = __riscv_vle8_v_u8m1 ((base + 1000), vl);
     210      for (int i = 0; i < n; i++){
     211        vuint16m2_t src = __riscv_vle16_v_u16m2 (base + 100*i, vl);
     212        v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
     213        v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
     214        v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
     215        v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
     216        v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
     217        v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
     218        __riscv_vse8_v_u8m1 (out + 100*i,v,vl);
     219      }
     220  }
     221  
     222  void f19 (void *base,void *out,size_t vl, int n)
     223  {
     224      vuint8m1_t v = __riscv_vle8_v_u8m1 ((base + 1000), vl);
     225      for (int i = 0; i < n; i++){
     226        vuint16m2_t src = __riscv_vle16_v_u16m2 (base + 100*i, vl);
     227        v = __riscv_vnclipu_wv_u8m1(src,v,vl);
     228        vuint8m1_t v2 = __riscv_vnclipu_wv_u8m1(src,v,vl);
     229        v2 = __riscv_vnclipu_wv_u8m1(src,v2,vl);
     230        v2 = __riscv_vnclipu_wv_u8m1(src,v2,vl);
     231        v2 = __riscv_vnclipu_wv_u8m1(src,v2,vl);
     232        v2 = __riscv_vnclipu_wv_u8m1(src,v2,vl);
     233        __riscv_vse8_v_u8m1 (out + 100*i,v,vl);
     234        __riscv_vse8_v_u8m1 (out + 200*i,v2,vl);
     235      }
     236  }
     237  
     238  void f20 (void *base,void *out,size_t vl, int n)
     239  {
     240      vuint8m1_t v = __riscv_vle8_v_u8m1 ((base + 1000), vl);
     241      for (int i = 0; i < n; i++){
     242        vuint16m2_t src = __riscv_vle16_v_u16m2 (base + 100*i, vl);
     243        v = __riscv_vnclipu_wv_u8m1(src,v,vl);
     244        vuint8m1_t v2 = __riscv_vnclipu_wv_u8m1(src,v,vl);
     245        v2 = __riscv_vnclipu_wv_u8m1(src,v2,vl);
     246        __riscv_vse8_v_u8m1 (out + 100*i,v,vl);
     247        __riscv_vse8_v_u8m1 (out + 200*i,v2,vl);
     248      }
     249  }
     250  
     251  void f21 (void *base,void *out,size_t vl, int n)
     252  {
     253      for (int i = 0; i < n; i++){
     254        vuint8m1_t v = __riscv_vle8_v_u8m1 ((base + 1000 * i), vl);
     255        vuint16m2_t src = __riscv_vle16_v_u16m2 (base + 100*i, vl);
     256        v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
     257        v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
     258        v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
     259        v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
     260        v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
     261        v = __riscv_vnclipu_wv_u8m1_tu(v,src,v,vl);
     262        __riscv_vse8_v_u8m1 (out + 100*i,v,vl);
     263        __riscv_vse16_v_u16m2 (out + 200*i,src,vl);
     264      }
     265  }
     266  
     267  void f22 (uint16_t *base,uint8_t *out,size_t vl, int n)
     268  {
     269      for (int i = 0; i < n; i++){
     270        vuint8m1_t v = __riscv_vle8_v_u8m1 ((uint8_t *)(base + 1000 * i), vl);
     271        vuint16m2_t src1 = __riscv_vle16_v_u16m2 (base + 100*i, vl);
     272        vuint16m2_t src2 = __riscv_vle16_v_u16m2 (base + 200*i, vl);
     273        vuint16m2_t src3 = __riscv_vle16_v_u16m2 (base + 300*i, vl);
     274        vuint16m2_t src4 = __riscv_vle16_v_u16m2 (base + 400*i, vl);
     275        vuint16m2_t src5 = __riscv_vle16_v_u16m2 (base + 500*i, vl);
     276        vuint16m2_t src6 = __riscv_vle16_v_u16m2 (base + 600*i, vl);
     277        v = __riscv_vnclipu_wv_u8m1_tu(v,src1,v,vl);
     278        v = __riscv_vnclipu_wv_u8m1_tu(v,src2,v,vl);
     279        v = __riscv_vnclipu_wv_u8m1_tu(v,src3,v,vl);
     280        v = __riscv_vnclipu_wv_u8m1_tu(v,src4,v,vl);
     281        v = __riscv_vnclipu_wv_u8m1_tu(v,src5,v,vl);
     282        v = __riscv_vnclipu_wv_u8m1_tu(v,src6,v,vl);
     283        __riscv_vse8_v_u8m1 (out + 100*i,v,vl);
     284      }
     285  }
     286  
     287  void f23 (uint16_t *base,uint8_t *out,size_t vl, int n)
     288  {
     289      for (int i = 0; i < n; i++){
     290        vuint8m1_t v = __riscv_vle8_v_u8m1 ((uint8_t *)(base + 1000 * i), vl);
     291        vuint8m1_t v2 = __riscv_vle8_v_u8m1 ((uint8_t *)(base + 2000 * i), vl);
     292        vuint16m2_t src1 = __riscv_vle16_v_u16m2 (base + 100*i, vl);
     293        vuint16m2_t src2 = __riscv_vle16_v_u16m2 (base + 200*i, vl);
     294        vuint16m2_t src3 = __riscv_vle16_v_u16m2 (base + 300*i, vl);
     295        vuint16m2_t src4 = __riscv_vle16_v_u16m2 (base + 400*i, vl);
     296        vuint16m2_t src5 = __riscv_vle16_v_u16m2 (base + 500*i, vl);
     297        vuint16m2_t src6 = __riscv_vle16_v_u16m2 (base + 600*i, vl);
     298        v = __riscv_vnclipu_wv_u8m1_tu(v,src1,v2,vl);
     299        v = __riscv_vnclipu_wv_u8m1_tu(v,src2,v2,vl);
     300        v = __riscv_vnclipu_wv_u8m1_tu(v,src3,v2,vl);
     301        v = __riscv_vnclipu_wv_u8m1_tu(v,src4,v2,vl);
     302        v = __riscv_vnclipu_wv_u8m1_tu(v,src5,v2,vl);
     303        v = __riscv_vnclipu_wv_u8m1_tu(v,src6,v2,vl);
     304        __riscv_vse8_v_u8m1 (out + 100*i,v,vl);
     305      }
     306  }
     307  
     308  void f24 (void *base,void *base2,void *out,size_t vl, int n)
     309  {
     310      vuint32m4_t src = __riscv_vle32_v_u32m4 (base + 100, vl);
     311      vuint16m2_t src2 = __riscv_vle16_v_u16m2 (base + 200, vl);
     312      vuint8m1_t src3 = __riscv_vle8_v_u8m1 (base + 300, vl);
     313      for (int i = 0; i < n; i++){
     314        vbool8_t m = __riscv_vlm_v_b8 (base + i, vl);
     315        vuint16m2_t v = __riscv_vnclipu_wv_u16m2_m(m,src,src2,vl);
     316        vuint16m2_t v2 = __riscv_vle16_v_u16m2_tu (v, base2 + i, vl);
     317        vuint8m1_t v3 = __riscv_vnclipu_wv_u8m1_m(m,v2,src3,vl);
     318        __riscv_vse8_v_u8m1 (out + 100*i,v3,vl);
     319      }
     320  }
     321  
     322  void f25 (void *base,void *out,size_t vl, size_t shift)
     323  {
     324      vuint16m2_t src = __riscv_vle16_v_u16m2 (base, vl);
     325      asm volatile("#" ::
     326  		 : "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9",
     327  		   "v10", "v11", "v12", "v13", "v14", "v15", "v16", "v17", 
     328  		   "v18", "v19", "v20", "v21", "v22", "v23", "v24", "v25",  
     329  		   "v26", "v27", "v28", "v29");
     330      vuint8m1_t v = __riscv_vle8_v_u8m1 (base + 100, vl);
     331      vuint8m1_t v2 = __riscv_vnclipu_wv_u8m1(src,v,vl);
     332      asm volatile("#" ::
     333  		 : "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9",
     334  		   "v10", "v11", "v12", "v13", "v14", "v15", "v16", "v17", 
     335  		   "v18", "v19", "v20", "v21", "v22", "v23", "v24", "v25",  
     336  		   "v26", "v27", "v28", "v29", "v31");
     337      __riscv_vse8_v_u8m1 (out,v2,vl);
     338      asm volatile("#" ::
     339  		 : "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9",
     340  		   "v10", "v11", "v12", "v13", "v14", "v15", "v16", "v17", 
     341  		   "v18", "v19", "v20", "v21", "v22", "v23", "v24", "v25",  
     342  		   "v26", "v27", "v28", "v29", "v31");
     343  }
     344  
     345  void f26 (void *base,void *out,size_t vl, size_t shift)
     346  {
     347      vuint8m1_t v = __riscv_vle8_v_u8m1 (base + 100, vl);
     348      vuint16m2_t src = __riscv_vle16_v_u16m2 (base, vl);
     349      asm volatile("#" ::
     350  		 : "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9",
     351  		   "v10", "v11", "v12", "v13", "v14", "v15", "v16", "v17", 
     352  		   "v18", "v19", "v20", "v21", "v22", "v23", "v24", "v25",  
     353  		   "v26", "v27", "v28");
     354      vuint8m1_t v2 = __riscv_vnclipu_wv_u8m1(src,v,vl);
     355      asm volatile("#" ::
     356  		 : "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9",
     357  		   "v10", "v11", "v12", "v13", "v14", "v15", "v16", "v17", 
     358  		   "v18", "v19", "v20", "v21", "v22", "v23", "v24", "v25",  
     359  		   "v26", "v27", "v28", "v30", "v31");
     360      __riscv_vse8_v_u8m1 (out,v2,vl);
     361      asm volatile("#" ::
     362  		 : "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9",
     363  		   "v10", "v11", "v12", "v13", "v14", "v15", "v16", "v17", 
     364  		   "v18", "v19", "v20", "v21", "v22", "v23", "v24", "v25",  
     365  		   "v26", "v27", "v28", "v30", "v31");
     366  }
     367  
     368  void f27 (void *base,void *out,size_t vl, size_t shift)
     369  {
     370      vuint8m1_t v = __riscv_vle8_v_u8m1 (base + 100, vl);
     371      vuint16m2_t src = __riscv_vle16_v_u16m2 (base, vl);
     372      asm volatile("#" ::
     373  		 : "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9",
     374  		   "v10", "v11", "v12", "v13", "v14", "v15", "v16", "v17", 
     375  		   "v18", "v19", "v20", "v21", "v22", "v23", "v24", "v25",  
     376  		   "v26", "v27", "v28");
     377      vuint8m1_t v2 = __riscv_vnclipu_wv_u8m1(src,v,vl);
     378      asm volatile("#" ::
     379  		 : "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9",
     380  		   "v10", "v11", "v12", "v13", "v14", "v15", "v16", "v17", 
     381  		   "v18", "v19", "v20", "v21", "v22", "v23", "v24", "v25",  
     382  		   "v26", "v29", "v28", "v30", "v31");
     383      __riscv_vse8_v_u8m1 (out,v2,vl);
     384      asm volatile("#" ::
     385  		 : "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9",
     386  		   "v10", "v11", "v12", "v13", "v14", "v15", "v16", "v17", 
     387  		   "v18", "v19", "v20", "v21", "v22", "v23", "v24", "v25",  
     388  		   "v26", "v29", "v28", "v30", "v31");
     389  }
     390  
     391  /* { dg-final { scan-assembler-not {vmv} } } */
     392  /* { dg-final { scan-assembler-not {csrr} } } */