blob: c9a427c4a07ffb9052b055435e36cba331ce3e95 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
/* { dg-do compile } */
/* { dg-options "-O3 -fdump-tree-forwprop4-details -Wno-psabi" } */
/* { dg-additional-options "-msse2" { target i?86-*-* x86_64-*-* } } */
float *fastconv_parse_dst;
void fastconv_parse ()
{
float r3k = fastconv_parse_dst[1] - fastconv_parse_dst[3],
i0k = fastconv_parse_dst[4] + fastconv_parse_dst[6],
i1k = fastconv_parse_dst[4] - fastconv_parse_dst[6],
i2k = fastconv_parse_dst[5] + fastconv_parse_dst[7];
fastconv_parse_dst[1] = fastconv_parse_dst[0];
fastconv_parse_dst[4] = fastconv_parse_dst[5] = i0k - i2k;
fastconv_parse_dst[6] = fastconv_parse_dst[7] = i1k + r3k;
}
/* { dg-final { scan-tree-dump "Vec perm simplify sequences have been blended" "forwprop4" { target { i?86-*-* x86_64-*-* } } } } */
/* { dg-final { scan-tree-dump "VEC_PERM_EXPR.*{ 0, 0, 6, 6 }" "forwprop4" { target { i?86-*-* x86_64-*-* } } } } */
/* { dg-final { scan-tree-dump "VEC_PERM_EXPR.*{ 1, 1, 7, 7 }" "forwprop4" { target { i?86-*-* x86_64-*-* } } } } */
|