1 /* PR 15184 second two tests
2 /* { dg-do compile { target ia32 } } */
3 /* { dg-options "-O2 -march=pentiumpro" } */
4 
5 #define regparm __attribute__((__regparm__(1)))
6 
7 extern unsigned short y;
8 
g0(unsigned char c)9 void regparm g0(unsigned char c)
10 {
11         y = (y & 0xFF00) | (unsigned short)c;
12 }
13 
g1(unsigned char c)14 void regparm g1(unsigned char c)
15 {
16         y = (y & 0x00FF) | ((unsigned short)c << 8);
17 }
18 
19 /* Each function should compile down to a byte move from
20    the input register into y, possibly at an offset within y.  */
21 /* { dg-final { scan-assembler-times "movb\[ \\t\]+%al" 2 } } */
22 
23