1 /* { dg-do compile } */
2 /* { dg-options "-O -msse2 -fdump-tree-forwprop1" } */
3 
4 typedef double v2df __attribute__((vector_size (16)));
5 
6 v2df
foo(v2df x,double * p)7 foo (v2df x, double *p)
8 {
9   return (v2df) { x[0], *p };
10 }
11 
12 v2df
bar(v2df x,double * p)13 bar (v2df x, double *p)
14 {
15   return (v2df) { *p, x[1] };
16 }
17 
18 /* { dg-final { scan-tree-dump-times "BIT_INSERT_EXPR" 2 "forwprop1" } } */
19 /* { dg-final { scan-assembler "movhpd" } } */
20 /* { dg-final { scan-assembler "movlpd" } } */
21