1 /* { dg-do compile } */
2 /* { dg-require-effective-target arm_neon_ok } */
3 /* { dg-options "-O2 -ftree-vectorize" } */
4 /* { dg-add-options arm_neon } */
5 
bor(int * __restrict__ c,int * __restrict__ a,int * __restrict__ b)6 void bor (int *__restrict__ c, int *__restrict__ a, int *__restrict__ b)
7 {
8   int i;
9   for (i = 0; i < 9; i++)
10     c[i] = b[i] | (~a[i]);
11 }
bic(int * __restrict__ c,int * __restrict__ a,int * __restrict__ b)12 void bic (int *__restrict__ c, int *__restrict__ a, int *__restrict__ b)
13 {
14   int i;
15   for (i = 0; i < 9; i++)
16     c[i] = b[i] & (~a[i]);
17 }
18 
19 /* { dg-final { scan-assembler "vorn\\t" } } */
20 /* { dg-final { scan-assembler "vbic\\t" } } */
21