1 int ufoo(unsigned int a)
   2 {
   3         struct u {
   4                 unsigned int :2;
   5                 unsigned int a:3;
   6         } bf;
   7 
   8         bf.a = a;
   9         return bf.a;
  10 }
  11 
  12 int sfoo(int a)
  13 {
  14         struct s {
  15                 signed int :2;
  16                 signed int a:3;
  17         } bf;
  18 
  19         bf.a = a;
  20         return bf.a;
  21 }
  22 
  23 /*
  24  * check-name: optim store/load bitfields
  25  * check-command: test-linearize -Wno-decl $file
  26  *
  27  * check-output-start
  28 ufoo:
  29 .L0:
  30         <entry-point>
  31         and.32      %r11 <- %arg1, $7
  32         ret.32      %r11
  33 
  34 
  35 sfoo:
  36 .L2:
  37         <entry-point>
  38         trunc.3     %r16 <- (32) %arg1
  39         sext.32     %r23 <- (3) %r16
  40         ret.32      %r23
  41 
  42 
  43  * check-output-end
  44  */