1 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
2 /* { dg-options "-O2 -fno-allow-store-data-races" } */
3 
4 /* Make sure we don't narrow down to a QI or HI to store into VAR.J,
5    but instead use an SI.  */
6 
7 struct S
8 {
9   volatile int i: 4;
10   volatile int j: 4;
11   volatile int k: 8;
12   volatile int l: 8;
13   volatile int m: 8;
14 } var;
15 
setit()16 void setit()
17 {
18   var.j = 5;
19 }
20 
21 /* { dg-final { scan-assembler "movl.*, _?var" { target nonpic } } } */
22 /* { dg-final { scan-assembler "movl.*, (_?var|\\(%)" { target { ! nonpic } } } } */
23