blob: a6cb9ebc24eb374b9a25aa79235fa17a04109f42 [file] [log] [blame]
/* 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 } } */