1 /* { dg-do compile { target { arm*-*-* } } } */
2 /* { dg-require-effective-target arm_v8_1m_mve_ok } */
3 /* { dg-options "-O2 -save-temps" } */
4 /* { dg-add-options arm_v8_1m_mve } */
11 void __attribute__ ((noinline
)) test (int8_t *a
, int8_t *b
, int8_t *c
, int n
)
15 mve_pred16_t p
= vctp8q (n
);
16 int8x16_t va
= vldrbq_z_s8 (a
, p
);
17 int8x16_t vb
= vldrbq_z_s8 (b
, p
);
18 int8x16_t vc
= vaddq_x_s8 (va
, vb
, p
);
19 vstrbq_p_s8 (c
, vc
, p
);
28 /* { dg-final { scan-assembler-times {\tdlstp.8} 1 } } */
29 /* { dg-final { scan-assembler-times {\tletp} 1 } } */
30 /* { dg-final { scan-assembler-not "\tvctp" } } */
31 /* { dg-final { scan-assembler-not "\tvpst" } } */
32 /* { dg-final { scan-assembler-not "p0" } } */