(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arm/
mve/
intrinsics/
mve_scalar_shifts4.c
       1  /* { dg-do run } */
       2  /* { dg-require-effective-target arm_mve_hw } */
       3  /* { dg-options "-O2" } */
       4  /* { dg-add-options arm_v8_1m_mve } */
       5  
       6  #include "arm_mve.h"
       7  #include <stdlib.h>
       8  
       9  #define IMM 3
      10  
      11  void
      12  foo (int32_t acc,  uint32_t acc1)
      13  {
      14    acc = sqshl (acc, IMM);
      15    if (acc != 128)
      16      abort();
      17    acc = srshr (acc, IMM);
      18    if (acc != 16)
      19      abort();
      20    acc1 = uqshl (acc1, IMM);
      21    if (acc1 != 128)
      22      abort();
      23    acc1 = urshr (acc1, IMM);
      24    if (acc1 != 16)
      25      abort();
      26  }
      27  
      28  int main()
      29  {
      30    int32_t acc = 16;
      31    uint32_t acc1 = 16;
      32    foo (acc, acc1);
      33    return 0;
      34  }