1 /* { dg-do run } */
2 /* { dg-options "-O3 -save-temps -fdump-tree-dce" } */
3
4 #include <stdint.h>
5
6 __attribute__((noinline, noipa))
7 void fun1(uint32_t *x, int n)
8 {
9 for (int i = 0; i < (n & -16); i++)
10 x[i] = (x[i]&(~1)) < 0;
11 }
12
13 __attribute__((noinline, noipa, optimize("O1")))
14 void fun2(uint32_t *x, int n)
15 {
16 for (int i = 0; i < (n & -16); i++)
17 x[i] = (x[i]&(~1)) < 0;
18 }
19
20 #include "bic-bitmask.h"
21
22 /* { dg-final { scan-tree-dump-times {__builtin_memset} 1 dce7 { target vect_int } } } */
23 /* { dg-final { scan-tree-dump-not {\s+bic\s+} dce7 { target { aarch64*-*-* } } } } */
24