1  /* { dg-options "-O2" } */
       2  /* { dg-require-effective-target arm_v8_1m_mve_ok } */
       3  /* { dg-add-options arm_v8_1m_mve } */
       4  /* { dg-final { check-function-bodies "**" "" } } */
       5  #include <arm_mve.h>
       6  void test0 (uint8_t *a, uint8_t *b, uint8_t *c)
       7  {
       8      uint8x16_t va = vldrbq_u8 (a);
       9      uint8x16_t vb = vldrbq_u8 (b);
      10      mve_pred16_t p = vcmpeqq_u8 (va, vb);
      11      uint8x16_t vc = vaddq_x_u8 (va, vb, p);
      12      vstrbq_p_u8 (c, vc, p);
      13  }
      14  /*
      15  ** test0:
      16  **	vldrb.8	q[0-9]+, \[r[0-9]+\]
      17  **	vldrb.8	q[0-9]+, \[r[0-9]+\]
      18  **	vcmp.i8	eq, q[0-9]+, q[0-9]+
      19  **	vpst
      20  **	vaddt.i8	(q[0-9]+), q[0-9]+, q[0-9]+
      21  **	vpst
      22  **	vstrbt.8	\1, \[r[0-9]+\]
      23  **	bx	lr
      24  */