/* { dg-do compile } */ /* { dg-require-effective-target arm_neon_ok } */ /* { dg-options "-O -g" } */ /* { dg-add-options arm_neon } */ #include void f1 (volatile float32x4_t *dest, volatile float32x4x4_t *src, int n) { float32x4x4_t a5, a6, a7, a8, a9; int i; a5 = *src; a6 = *src; a7 = *src; a8 = *src; a9 = *src; while (n--) { for (i = 0; i < 8; i++) { float32x4x4_t a0, a1, a2, a3, a4; a0 = *src; a1 = *src; a2 = *src; a3 = *src; a4 = *src; *src = a0; *dest = a0.val[0]; *dest = a0.val[3]; *src = a1; *dest = a1.val[0]; *dest = a1.val[3]; *src = a2; *dest = a2.val[0]; *dest = a2.val[3]; *src = a3; *dest = a3.val[0]; *dest = a3.val[3]; *src = a4; *dest = a4.val[0]; *dest = a4.val[3]; } *src = a5; *dest = a5.val[0]; *dest = a5.val[3]; *src = a6; *dest = a6.val[0]; *dest = a6.val[3]; *src = a7; *dest = a7.val[0]; *dest = a7.val[3]; *src = a8; *dest = a8.val[0]; *dest = a8.val[3]; *src = a9; *dest = a9.val[0]; *dest = a9.val[3]; } }