1/* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */ 2/* { dg-options "-O3 -fselective-scheduling2 -fsel-sched-pipelining" } */ 3typedef unsigned short int uint16_t; 4__extension__ typedef __UINTPTR_TYPE__ uintptr_t; 5typedef struct GFX_VTABLE 6{ 7 int color_depth; 8 unsigned char *line[]; 9} 10BITMAP; 11extern int _drawing_mode; 12extern BITMAP *_drawing_pattern; 13extern int _drawing_y_anchor; 14extern unsigned int _drawing_x_mask; 15extern unsigned int _drawing_y_mask; 16extern uintptr_t bmp_write_line (BITMAP *, int); 17 void 18_linear_hline15 (BITMAP * dst, int dx1, int dy, int dx2, int color) 19{ 20 int w; 21 if (_drawing_mode == 0) 22 { 23 int x, curw; 24 unsigned short *sline = 25 (unsigned short *) (_drawing_pattern-> 26 line[((dy) - 27 _drawing_y_anchor) & _drawing_y_mask]); 28 unsigned short *s; 29 unsigned short *d = 30 ((unsigned short *) (bmp_write_line (dst, dy)) + (dx1)); 31 s = ((unsigned short *) (sline) + (x)); 32 if (_drawing_mode == 2) 33 { 34 } 35 else if (_drawing_mode == 3) 36 { 37 do 38 { 39 w -= curw; 40 do 41 { 42 unsigned long c = (*(s)); 43 if (!((unsigned long) (c) == 0x7C1F)) 44 { 45 (*((uint16_t *) ((uintptr_t) (d))) = ((color))); 46 } 47 ((s)++); 48 } 49 while (--curw > 0); 50 s = sline; 51 curw = 52 (((w) < 53 ((int) _drawing_x_mask + 54 1)) ? (w) : ((int) _drawing_x_mask + 1)); 55 } 56 while (curw > 0); 57 } 58 } 59} 60