PR rtl-optimization/87918
[official-gcc.git] / gcc / testsuite / gcc.target / aarch64 / vect-clz.c
blob044fa9e996ea8ea25e3682c8581dde117e546ca6
1 /* { dg-do run } */
2 /* { dg-options "-O3 -save-temps -fno-inline -fno-vect-cost-model" } */
4 extern void abort ();
6 void
7 count_lz_v4si (unsigned *__restrict a, int *__restrict b)
9 int i;
11 for (i = 0; i < 4; i++)
12 b[i] = __builtin_clz (a[i]);
15 /* { dg-final { scan-assembler "clz\tv\[0-9\]+\.4s" } } */
17 int
18 main ()
20 unsigned int x[4] = { 0x0, 0xFFFF, 0x1FFFF, 0xFFFFFFFF };
21 int r[4] = { 32, 16, 15, 0 };
22 int d[4], i;
24 count_lz_v4si (x, d);
26 for (i = 0; i < 4; i++)
28 if (d[i] != r[i])
29 abort ();
32 return 0;