blob: 0f9589d7756ebe722127c1426a32af4a04f961ae (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
/* { dg-do compile } */
/* { dg-require-effective-target arm_v8_1m_mve_fp_ok } */
/* { dg-options "-Ofast -std=c99" } */
/* { dg-add-options arm_v8_1m_mve_fp } */
#pragma GCC arm "arm_mve_types.h"
#pragma GCC arm "arm_mve.h" false
typedef __attribute__((aligned(2))) float16x8_t e;
mve_pred16_t c(long d) { return __builtin_mve_vctp16qv8bi(d); }
int f();
void n() {
int g, h, *i, j;
mve_pred16_t k;
e acc;
e l;
e m;
for (;;) {
j = g;
acc[g];
for (; h < g; h += 8) {
k = c(j);
acc = vfmsq_m(acc, l, m, k);
j -= 8;
}
i[g] = f(acc);
}
}
int a;
void g2() {
long b;
while (a) {
char *c;
for (long d = b; d > 0; d -= 4) {
mve_pred16_t e = vctp32q(d);
int32x4_t f;
vstrbq_p_s32(c, f, e);
}
}
}
|