1  /* PR target/78967 */
       2  /* { dg-do compile { target { ! ia32 } } } */
       3  /* { dg-options "-O2 -masm=att" } */
       4  /* { dg-require-effective-target nonpic } */
       5  /* { dg-final { scan-assembler-not "movzbl" } } */
       6  
       7  typedef __SIZE_TYPE__ size_t;
       8  
       9  struct S1
      10  {
      11    unsigned char pad1;
      12    unsigned char val;
      13    unsigned short pad2;
      14    unsigned int pad3;
      15  };
      16  
      17  extern unsigned char t[256];
      18  
      19  struct S1 foo (struct S1 a, size_t i)
      20  {
      21    a.val = t[i];
      22  
      23    return a;
      24  }
      25  
      26  /* { dg-final { scan-assembler "\[ \t\]movb\[ \t\]+t\[^\n\r]*, %.h" } } */