/* PR 15184 second two tests
/* { dg-do compile { target ia32 } } */
/* { dg-options "-O2 -march=pentiumpro" } */

#define regparm __attribute__((__regparm__(1)))

extern unsigned short y;

void regparm g0(unsigned char c)
{
        y = (y & 0xFF00) | (unsigned short)c;
}

void regparm g1(unsigned char c)
{
        y = (y & 0x00FF) | ((unsigned short)c << 8);
}

/* Each function should compile down to a byte move from
   the input register into y, possibly at an offset within y.  */
/* { dg-final { scan-assembler-times "movb\[ \\t\]+%al" 2 } } */

