1  /* { dg-require-effective-target arm_v8_1m_mve_ok } */
       2  /* { dg-add-options arm_v8_1m_mve } */
       3  /* { dg-additional-options "-O2" } */
       4  
       5  #include "arm_mve.h"
       6  void
       7  foo1 (int8_t *x, int32_t * i1)
       8  {
       9    mve_pred16_t p;
      10    int32x4_t x_0;
      11    int32_t * bias1 = i1;
      12    for (;; x++)
      13    {
      14      x_0 = vldrwq_s32(bias1);
      15      vstrbq_p_s32(x, x_0, p);
      16    }
      17  }
      18  void
      19  foo2 (int8_t *x, int16_t * i1)
      20  {
      21    mve_pred16_t p;
      22    int16x8_t x_0;
      23    int16_t * bias1 = i1;
      24    for (;; x++)
      25    {
      26      x_0 = vldrhq_s16(bias1);
      27      vstrbq_p_s16(x, x_0, p);
      28    }
      29  }
      30  
      31  void
      32  foo3 (int16_t *x, int32_t * i1)
      33  {
      34    mve_pred16_t p;
      35    int32x4_t x_0;
      36    int32_t * bias1 = i1;
      37    for (;; x++)
      38    {
      39      x_0 = vldrwq_s32(bias1);
      40      vstrhq_p_s32(x, x_0, p);
      41    }
      42  }