152
|
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 }
|