1 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
2 /* { dg-options "-msse -O2 -fdump-tree-esra-details" } */
6 typedef __m128 v4sf
; // vector of 4 floats (SSE1)
19 void func (float *pre1
, float pre2
, struct COLOUR
*a
, V4SF
*lpic
)
23 va
.f
[0]=a
->r
;va
.f
[1]=a
->g
;va
.f
[2]=a
->b
;va
.f
[3]=0.f
;
26 float att
= pre1
[y
]*pre2
;
27 v4sf tmpatt
=_mm_load1_ps(&att
);
28 tmpatt
=_mm_mul_ps(tmpatt
,va
.v
);
29 lpic
[y
].v
=_mm_add_ps(tmpatt
,lpic
[y
].v
);
38 struct COLOUR col
={0.,2.,4.};
41 for (i
=0;i
<10000000;++i
)
42 func(&pre1
[0],0.3,&col
,&lpic
[0]);
46 /* { dg-final { scan-tree-dump-times "Created a replacement" 0 "esra"} } */