2018-05-17 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / pr78794.c
blob86f1a9e3a1dd646e444f906659fd2318bef4d5bf
1 /* PR target/pr78794 */
2 /* { dg-do compile { target ia32 } } */
3 /* { dg-options "-O2 -march=slm -mno-bmi -mno-stackrealign" } */
4 /* { dg-final { scan-assembler "pandn" } } */
6 typedef unsigned long long ull;
8 struct S1
10 float x;
11 ull y;
15 struct S2
17 int a1;
18 struct S1 *node;
19 int *a2;
22 void
23 foo(int c1, int c2, int c3, struct S2 *reg)
25 int i;
26 for(i=0; i<reg->a1; i++)
27 if(reg->node[i].y & ((ull) 1 << c1))
29 if(reg->node[i].y & ((ull) 1 << c2))
30 reg->node[i].y ^= ((ull) 1 << c3);