1  /* { dg-do assemble } /*
       2  /* { dg-options "-Os -fomit-frame-pointer -m68040" } */
       3  /* { dg-final { object-size text <= 72 } } */
       4  
       5  struct kobject {
       6          unsigned int b7:1;
       7          unsigned int :6;
       8          unsigned int b0:1;
       9          unsigned char x;
      10          unsigned int f;
      11  };
      12  
      13  void ior(struct kobject *kobj) { kobj->f |= 4; }
      14  void ior_m(struct kobject *kobj) { kobj->f |= -4; }
      15  
      16  void xor(struct kobject *kobj) { kobj->f ^= 4; }
      17  void xor_m(struct kobject *kobj) { kobj->f ^= -4; }
      18  
      19  void and(struct kobject *kobj) { kobj->f &= 4; }
      20  void and_m(struct kobject *kobj) { kobj->f &= -4; }