i386: Adjust rtx cost for imulq and imulw [PR115749]
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / pr81410.c
blob6b7586992fe46918aab537a06f166ce2e25f90d8
1 /* { dg-require-effective-target vect_long_long } */
3 #include "tree-vect.h"
5 long long x[24];
6 long long y[16];
7 long long z[8];
9 void __attribute__((noinline)) foo()
11 for (int i = 0; i < 8; ++i)
13 y[2*i] = x[3*i];
14 y[2*i + 1] = x[3*i + 1];
15 z[i] = 1;
19 int main()
21 check_vect ();
23 for (int i = 0; i < 24; ++i)
25 x[i] = i;
26 __asm__ volatile ("" : : : "memory");
28 foo ();
29 #pragma GCC novector
30 for (int i = 0; i < 8; ++i)
31 if (y[2*i] != 3*i || y[2*i+1] != 3*i + 1)
32 __builtin_abort ();
34 return 0;
37 /* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" } } */