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 
7 uint8x16_t
foo(uint8_t const * base,mve_pred16_t p)8 foo (uint8_t const * base, mve_pred16_t p)
9 {
10   return vld1q_z_u8 (base, p);
11 }
12 
13 uint8x16_t
foo1(uint8_t const * base,mve_pred16_t p)14 foo1 (uint8_t const * base, mve_pred16_t p)
15 {
16   return vld1q_z (base, p);
17 }
18 
19 /* { dg-final { scan-assembler-times "vpst" 2 }  } */
20 /* { dg-final { scan-assembler-times "vldrbt.8" 2 }  } */
21 /* { dg-final { scan-assembler-not "__ARM_undef" } } */
22