[AArch64] SVE tests
[official-gcc.git] / gcc / testsuite / gcc.target / aarch64 / bic_imm_1.c
blob08b2a9c540d40d420738c4ca05c851938b7de171
1 /* { dg-do assemble } */
2 /* { dg-options "-O2 --save-temps -ftree-vectorize" } */
4 #pragma GCC target "+nosve"
6 /* Each function uses the correspoding 'CLASS' in
7 Marco CHECK (aarch64_simd_valid_immediate). */
9 void
10 bic_6 (int *a)
12 for (int i = 0; i < 1024; i++)
13 a[i] &= ~(0xab);
16 void
17 bic_7 (int *a)
19 for (int i = 0; i < 1024; i++)
20 a[i] &= ~(0xcd00);
23 void
24 bic_8 (int *a)
26 for (int i = 0; i < 1024; i++)
27 a[i] &= ~(0xef0000);
30 void
31 bic_9 (int *a)
33 for (int i = 0; i < 1024; i++)
34 a[i] &= ~(0x12000000);
37 void
38 bic_10 (short *a)
40 for (int i = 0; i < 1024; i++)
41 a[i] &= ~(0x34);
45 void
46 bic_11 (short *a)
48 for (int i = 0; i < 1024; i++)
49 a[i] &= ~(0x5600);
53 /* { dg-final { scan-assembler "bic\\tv\[0-9\]+.4s, #171" } } */
54 /* { dg-final { scan-assembler "bic\\tv\[0-9\]+.4s, #205, lsl #8" } } */
55 /* { dg-final { scan-assembler "bic\\tv\[0-9\]+.4s, #239, lsl #16" } } */
56 /* { dg-final { scan-assembler "bic\\tv\[0-9\]+.4s, #18, lsl #24" } } */
57 /* { dg-final { scan-assembler "bic\\tv\[0-9\]+.8h, #52" } } */
58 /* { dg-final { scan-assembler "bic\\tv\[0-9\]+.8h, #86, lsl #8" } } */