(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
riscv/
rvv/
base/
mask_insn_shortcut.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-march=rv64gcv -mabi=lp64 -O3" } */
       3  
       4  #include "riscv_vector.h"
       5  
       6  vbool1_t test_shortcut_for_riscv_vmand_case_0(vbool1_t v1, size_t vl) {
       7    return __riscv_vmand_mm_b1(v1, v1, vl);
       8  }
       9  
      10  vbool2_t test_shortcut_for_riscv_vmand_case_1(vbool2_t v1, size_t vl) {
      11    return __riscv_vmand_mm_b2(v1, v1, vl);
      12  }
      13  
      14  vbool4_t test_shortcut_for_riscv_vmand_case_2(vbool4_t v1, size_t vl) {
      15    return __riscv_vmand_mm_b4(v1, v1, vl);
      16  }
      17  
      18  vbool8_t test_shortcut_for_riscv_vmand_case_3(vbool8_t v1, size_t vl) {
      19    return __riscv_vmand_mm_b8(v1, v1, vl);
      20  }
      21  
      22  vbool16_t test_shortcut_for_riscv_vmand_case_4(vbool16_t v1, size_t vl) {
      23    return __riscv_vmand_mm_b16(v1, v1, vl);
      24  }
      25  
      26  vbool32_t test_shortcut_for_riscv_vmand_case_5(vbool32_t v1, size_t vl) {
      27    return __riscv_vmand_mm_b32(v1, v1, vl);
      28  }
      29  
      30  vbool64_t test_shortcut_for_riscv_vmand_case_6(vbool64_t v1, size_t vl) {
      31    return __riscv_vmand_mm_b64(v1, v1, vl);
      32  }
      33  
      34  vbool1_t test_shortcut_for_riscv_vmnand_case_0(vbool1_t v1, size_t vl) {
      35    return __riscv_vmnand_mm_b1(v1, v1, vl);
      36  }
      37  
      38  vbool2_t test_shortcut_for_riscv_vmnand_case_1(vbool2_t v1, size_t vl) {
      39    return __riscv_vmnand_mm_b2(v1, v1, vl);
      40  }
      41  
      42  vbool4_t test_shortcut_for_riscv_vmnand_case_2(vbool4_t v1, size_t vl) {
      43    return __riscv_vmnand_mm_b4(v1, v1, vl);
      44  }
      45  
      46  vbool8_t test_shortcut_for_riscv_vmnand_case_3(vbool8_t v1, size_t vl) {
      47    return __riscv_vmnand_mm_b8(v1, v1, vl);
      48  }
      49  
      50  vbool16_t test_shortcut_for_riscv_vmnand_case_4(vbool16_t v1, size_t vl) {
      51    return __riscv_vmnand_mm_b16(v1, v1, vl);
      52  }
      53  
      54  vbool32_t test_shortcut_for_riscv_vmnand_case_5(vbool32_t v1, size_t vl) {
      55    return __riscv_vmnand_mm_b32(v1, v1, vl);
      56  }
      57  
      58  vbool64_t test_shortcut_for_riscv_vmnand_case_6(vbool64_t v1, size_t vl) {
      59    return __riscv_vmnand_mm_b64(v1, v1, vl);
      60  }
      61  
      62  vbool1_t test_shortcut_for_riscv_vmandn_case_0(vbool1_t v1, size_t vl) {
      63    return __riscv_vmandn_mm_b1(v1, v1, vl);
      64  }
      65  
      66  vbool2_t test_shortcut_for_riscv_vmandn_case_1(vbool2_t v1, size_t vl) {
      67    return __riscv_vmandn_mm_b2(v1, v1, vl);
      68  }
      69  
      70  vbool4_t test_shortcut_for_riscv_vmandn_case_2(vbool4_t v1, size_t vl) {
      71    return __riscv_vmandn_mm_b4(v1, v1, vl);
      72  }
      73  
      74  vbool8_t test_shortcut_for_riscv_vmandn_case_3(vbool8_t v1, size_t vl) {
      75    return __riscv_vmandn_mm_b8(v1, v1, vl);
      76  }
      77  
      78  vbool16_t test_shortcut_for_riscv_vmandn_case_4(vbool16_t v1, size_t vl) {
      79    return __riscv_vmandn_mm_b16(v1, v1, vl);
      80  }
      81  
      82  vbool32_t test_shortcut_for_riscv_vmandn_case_5(vbool32_t v1, size_t vl) {
      83    return __riscv_vmandn_mm_b32(v1, v1, vl);
      84  }
      85  
      86  vbool64_t test_shortcut_for_riscv_vmandn_case_6(vbool64_t v1, size_t vl) {
      87    return __riscv_vmandn_mm_b64(v1, v1, vl);
      88  }
      89  
      90  vbool1_t test_shortcut_for_riscv_vmxor_case_0(vbool1_t v1, size_t vl) {
      91    return __riscv_vmxor_mm_b1(v1, v1, vl);
      92  }
      93  
      94  vbool2_t test_shortcut_for_riscv_vmxor_case_1(vbool2_t v1, size_t vl) {
      95    return __riscv_vmxor_mm_b2(v1, v1, vl);
      96  }
      97  
      98  vbool4_t test_shortcut_for_riscv_vmxor_case_2(vbool4_t v1, size_t vl) {
      99    return __riscv_vmxor_mm_b4(v1, v1, vl);
     100  }
     101  
     102  vbool8_t test_shortcut_for_riscv_vmxor_case_3(vbool8_t v1, size_t vl) {
     103    return __riscv_vmxor_mm_b8(v1, v1, vl);
     104  }
     105  
     106  vbool16_t test_shortcut_for_riscv_vmxor_case_4(vbool16_t v1, size_t vl) {
     107    return __riscv_vmxor_mm_b16(v1, v1, vl);
     108  }
     109  
     110  vbool32_t test_shortcut_for_riscv_vmxor_case_5(vbool32_t v1, size_t vl) {
     111    return __riscv_vmxor_mm_b32(v1, v1, vl);
     112  }
     113  
     114  vbool64_t test_shortcut_for_riscv_vmxor_case_6(vbool64_t v1, size_t vl) {
     115    return __riscv_vmxor_mm_b64(v1, v1, vl);
     116  }
     117  
     118  vbool1_t test_shortcut_for_riscv_vmor_case_0(vbool1_t v1, size_t vl) {
     119    return __riscv_vmor_mm_b1(v1, v1, vl);
     120  }
     121  
     122  vbool2_t test_shortcut_for_riscv_vmor_case_1(vbool2_t v1, size_t vl) {
     123    return __riscv_vmor_mm_b2(v1, v1, vl);
     124  }
     125  
     126  vbool4_t test_shortcut_for_riscv_vmor_case_2(vbool4_t v1, size_t vl) {
     127    return __riscv_vmor_mm_b4(v1, v1, vl);
     128  }
     129  
     130  vbool8_t test_shortcut_for_riscv_vmor_case_3(vbool8_t v1, size_t vl) {
     131    return __riscv_vmor_mm_b8(v1, v1, vl);
     132  }
     133  
     134  vbool16_t test_shortcut_for_riscv_vmor_case_4(vbool16_t v1, size_t vl) {
     135    return __riscv_vmor_mm_b16(v1, v1, vl);
     136  }
     137  
     138  vbool32_t test_shortcut_for_riscv_vmor_case_5(vbool32_t v1, size_t vl) {
     139    return __riscv_vmor_mm_b32(v1, v1, vl);
     140  }
     141  
     142  vbool64_t test_shortcut_for_riscv_vmor_case_6(vbool64_t v1, size_t vl) {
     143    return __riscv_vmor_mm_b64(v1, v1, vl);
     144  }
     145  
     146  vbool1_t test_shortcut_for_riscv_vmnor_case_0(vbool1_t v1, size_t vl) {
     147    return __riscv_vmnor_mm_b1(v1, v1, vl);
     148  }
     149  
     150  vbool2_t test_shortcut_for_riscv_vmnor_case_1(vbool2_t v1, size_t vl) {
     151    return __riscv_vmnor_mm_b2(v1, v1, vl);
     152  }
     153  
     154  vbool4_t test_shortcut_for_riscv_vmnor_case_2(vbool4_t v1, size_t vl) {
     155    return __riscv_vmnor_mm_b4(v1, v1, vl);
     156  }
     157  
     158  vbool8_t test_shortcut_for_riscv_vmnor_case_3(vbool8_t v1, size_t vl) {
     159    return __riscv_vmnor_mm_b8(v1, v1, vl);
     160  }
     161  
     162  vbool16_t test_shortcut_for_riscv_vmnor_case_4(vbool16_t v1, size_t vl) {
     163    return __riscv_vmnor_mm_b16(v1, v1, vl);
     164  }
     165  
     166  vbool32_t test_shortcut_for_riscv_vmnor_case_5(vbool32_t v1, size_t vl) {
     167    return __riscv_vmnor_mm_b32(v1, v1, vl);
     168  }
     169  
     170  vbool64_t test_shortcut_for_riscv_vmnor_case_6(vbool64_t v1, size_t vl) {
     171    return __riscv_vmnor_mm_b64(v1, v1, vl);
     172  }
     173  
     174  vbool1_t test_shortcut_for_riscv_vmorn_case_0(vbool1_t v1, size_t vl) {
     175    return __riscv_vmorn_mm_b1(v1, v1, vl);
     176  }
     177  
     178  vbool2_t test_shortcut_for_riscv_vmorn_case_1(vbool2_t v1, size_t vl) {
     179    return __riscv_vmorn_mm_b2(v1, v1, vl);
     180  }
     181  
     182  vbool4_t test_shortcut_for_riscv_vmorn_case_2(vbool4_t v1, size_t vl) {
     183    return __riscv_vmorn_mm_b4(v1, v1, vl);
     184  }
     185  
     186  vbool8_t test_shortcut_for_riscv_vmorn_case_3(vbool8_t v1, size_t vl) {
     187    return __riscv_vmorn_mm_b8(v1, v1, vl);
     188  }
     189  
     190  vbool16_t test_shortcut_for_riscv_vmorn_case_4(vbool16_t v1, size_t vl) {
     191    return __riscv_vmorn_mm_b16(v1, v1, vl);
     192  }
     193  
     194  vbool32_t test_shortcut_for_riscv_vmorn_case_5(vbool32_t v1, size_t vl) {
     195    return __riscv_vmorn_mm_b32(v1, v1, vl);
     196  }
     197  
     198  vbool64_t test_shortcut_for_riscv_vmorn_case_6(vbool64_t v1, size_t vl) {
     199    return __riscv_vmorn_mm_b64(v1, v1, vl);
     200  }
     201  
     202  vbool1_t test_shortcut_for_riscv_vmxnor_case_0(vbool1_t v1, size_t vl) {
     203    return __riscv_vmxnor_mm_b1(v1, v1, vl);
     204  }
     205  
     206  vbool2_t test_shortcut_for_riscv_vmxnor_case_1(vbool2_t v1, size_t vl) {
     207    return __riscv_vmxnor_mm_b2(v1, v1, vl);
     208  }
     209  
     210  vbool4_t test_shortcut_for_riscv_vmxnor_case_2(vbool4_t v1, size_t vl) {
     211    return __riscv_vmxnor_mm_b4(v1, v1, vl);
     212  }
     213  
     214  vbool8_t test_shortcut_for_riscv_vmxnor_case_3(vbool8_t v1, size_t vl) {
     215    return __riscv_vmxnor_mm_b8(v1, v1, vl);
     216  }
     217  
     218  vbool16_t test_shortcut_for_riscv_vmxnor_case_4(vbool16_t v1, size_t vl) {
     219    return __riscv_vmxnor_mm_b16(v1, v1, vl);
     220  }
     221  
     222  vbool32_t test_shortcut_for_riscv_vmxnor_case_5(vbool32_t v1, size_t vl) {
     223    return __riscv_vmxnor_mm_b32(v1, v1, vl);
     224  }
     225  
     226  vbool64_t test_shortcut_for_riscv_vmxnor_case_6(vbool64_t v1, size_t vl) {
     227    return __riscv_vmxnor_mm_b64(v1, v1, vl);
     228  }
     229  
     230  /* { dg-final { scan-assembler-not {vmand\.mm\s+v[0-9]+,\s*v[0-9]+} } } */
     231  /* { dg-final { scan-assembler-not {vmnand\.mm\s+v[0-9]+,\s*v[0-9]+} } } */
     232  /* { dg-final { scan-assembler-not {vmnandn\.mm\s+v[0-9]+,\s*v[0-9]+} } } */
     233  /* { dg-final { scan-assembler-not {vmxor\.mm\s+v[0-9]+,\s*v[0-9]+} } } */
     234  /* { dg-final { scan-assembler-not {vmor\.mm\s+v[0-9]+,\s*v[0-9]+} } } */
     235  /* { dg-final { scan-assembler-not {vmnor\.mm\s+v[0-9]+,\s*v[0-9]+} } } */
     236  /* { dg-final { scan-assembler-times {vmorn\.mm\s+v[0-9]+,\s*v[0-9]+,\s*v[0-9]+} 7 } } */
     237  /* { dg-final { scan-assembler-not {vmxnor\.mm\s+v[0-9]+,\s*v[0-9]+} } } */
     238  /* { dg-final { scan-assembler-times {vmclr\.m\s+v[0-9]+} 14 } } */
     239  /* { dg-final { scan-assembler-times {vmset\.m\s+v[0-9]+} 7 } } */
     240  /* { dg-final { scan-assembler-times {vmmv\.m\s+v[0-9]+,\s*v[0-9]+} 14 } } */
     241  /* { dg-final { scan-assembler-times {vmnot\.m\s+v[0-9]+,\s*v[0-9]+} 14 } } */