1 /* { dg-require-effective-target vect_int } */
10 unsigned int in
[N
] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
12 __attribute__ ((noinline
)) int
13 main1 (unsigned int x
, unsigned int y
)
16 unsigned int a0
, a1
, a2
, a3
;
32 out
[0] = a0
* (x
+ 1);
33 out
[1] = a1
* (y
+ 1);
34 out
[2] = a2
* (x
+ 1);
35 out
[3] = a3
* (y
+ 1);
39 __asm__
volatile ("" : : : "memory");
43 && (out
[0] != (in
[0] + 23) * (x
+ 1)
44 || out
[1] != (in
[1] + 142) * (y
+ 1)
45 || out
[2] != (in
[2] + 2) * (x
+ 1)
46 || out
[3] != (in
[3] + 31) * (y
+ 1)))
48 && (b
[0] != (in
[0] + 23)
49 || b
[1] != (in
[1] + 142)
50 || b
[2] != (in
[2] + 2)
51 || b
[3] != (in
[3] + 31))))
66 /* { dg-final { scan-tree-dump-times "Basic block will be vectorized using SLP" 1 "slp2" } } */
67 /* { dg-final { scan-tree-dump "vectorizing SLP node starting from: _\[0-9\]+ = _\[0-9\]+ \\\* a0" "slp2" { target vect_int_mult } } } */