c++: free garbage vec in coerce_template_parms
[official-gcc.git] / gcc / testsuite / gcc.target / arm / simd / pr100757-2.c
blob21426fee370510cc3692e5f9d020d4e873424280
1 /* { dg-do compile } */
2 /* { dg-require-effective-target arm_v8_1m_mve_fp_ok } */
3 /* { dg-add-options arm_v8_1m_mve_fp } */
4 /* { dg-additional-options "-O3 -funsafe-math-optimizations" } */
5 /* Derived from gcc.c-torture/compile/20160205-1.c. */
7 float a[32];
8 int fn1(int d) {
9 int c = 4;
10 for (int b = 0; b < 32; b++)
11 if (a[b] != 2.0f)
12 c = 5;
13 return c;
16 /* { dg-final { scan-assembler-times {\tvmov\.f32\tq[0-7], #2\.0e\+0 @ v4sf} 1 } } */
17 /* { dg-final { scan-assembler-not {\t.word\t1073741824\n} } } */
18 /* { dg-final { scan-assembler-times {\tvmov\.i32\tq[0-7], #0x4 @ v4si} 1 } } */
19 /* { dg-final { scan-assembler-not {\t.word\t4\n} } } */
20 /* { dg-final { scan-assembler-times {\tvmov\.i32\tq[0-7], #0x5 @ v4si} 1 } } */
21 /* { dg-final { scan-assembler-not {\t.word\t5\n} } } */
22 /* { dg-final { scan-assembler-not {\t.word\t1\n} } } */ /* 'true' mask. */
23 /* { dg-final { scan-assembler-not {\t.word\t0\n} } } */ /* 'false' mask. */