Commit 2aff4696 authored by Alexandre Julliard's avatar Alexandre Julliard

gdi32: Add assembly helpers for filling solid rectangles.

parent cb7917f9
......@@ -258,12 +258,26 @@ static inline void do_rop_codes_line_rev_1(BYTE *dst, int dst_x, const BYTE *src
static inline void memset_32( DWORD *start, DWORD val, DWORD size )
{
#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
DWORD dummy;
__asm__ __volatile__( "cld; rep; stosl"
: "=c" (dummy), "=D" (dummy)
: "a" (val), "0" (size), "1" (start) );
#else
while (size--) *start++ = val;
#endif
}
static inline void memset_16( WORD *start, WORD val, DWORD size )
{
#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
DWORD dummy;
__asm__ __volatile__( "cld; rep; stosw"
: "=c" (dummy), "=D" (dummy)
: "a" (val), "0" (size), "1" (start) );
#else
while (size--) *start++ = val;
#endif
}
static void solid_rects_32(const dib_info *dib, int num, const RECT *rc, DWORD and, DWORD xor)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment