1  /* { dg-do compile { target { ia32 } } } */
       2  /* { dg-options "-O2" } */
       3  
       4  struct small{ short a,b; signed char c; };
       5  static const struct small s = { 1,2,0 };
       6  extern int func(struct small X);
       7  
       8  void call_func(void)
       9  {
      10    func(s);
      11  }
      12  
      13  /* The @GOTOFF addressing seems to prevent the optimization of the loads to
      14     known constants.  */
      15  /* { dg-final { scan-assembler "movl\[ \\t]*\\\$" { xfail { ! nonpic } } } } */
      16  /* { dg-final { scan-assembler "movb\[ \\t]*\\\$0, " { xfail { ! nonpic } } } } */
      17  /* { dg-final { scan-assembler-not "movzwl" { xfail { ! nonpic } } } } */