/* { dg-do compile } */ /* { dg-options "-O" } */ #include int32x2_t f1(int32_t *x, int c) { return c ? (int32x2_t) { x[0], x[2] } : (int32x2_t) { 0, 0 }; } int32x2_t f2(int32_t *x, int i0, int i1, int c) { return c ? (int32x2_t) { x[i0], x[i1] } : (int32x2_t) { 0, 0 }; } /* { dg-final { scan-assembler-times {\t(?:ldr\ts[0-9]+|ld1\t)} 4 } } */ /* { dg-final { scan-assembler-not {\tldr\tw} } } */