(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
riscv/
zbkb32.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -march=rv32gc_zbkb -mabi=ilp32" } */
       3  /* { dg-skip-if "" { *-*-* } { "-g" "-flto"} } */
       4  
       5  #include <stdint-gcc.h>
       6  
       7  int32_t foo1(int16_t rs1, int16_t rs2)
       8  {
       9      return __builtin_riscv_pack(rs1, rs2);
      10  }
      11  
      12  int32_t foo2(int8_t rs1, int8_t rs2)
      13  {
      14      return __builtin_riscv_packh(rs1, rs2);
      15  }
      16  
      17  int32_t foo3(int32_t rs1)
      18  {
      19      return __builtin_riscv_brev8(rs1);
      20  }
      21  
      22  int32_t foo4(int32_t rs1)
      23  {
      24      return __builtin_riscv_zip(rs1);
      25  }
      26  
      27  int32_t foo5(int32_t rs1)
      28  {
      29      return __builtin_riscv_unzip(rs1);
      30  }
      31  
      32  /* { dg-final { scan-assembler-times "pack\t" 1 } } */
      33  /* { dg-final { scan-assembler-times "packh" 1 } } */
      34  /* { dg-final { scan-assembler-times "brev8" 1 } } */
      35  /* { dg-final { scan-assembler-times "\tzip\t" 1 } } */
      36  /* { dg-final { scan-assembler-times "unzip" 1 } } */