1 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
2 /* { dg-options "-O2 --param allow-store-data-races=0" } */
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