Author: akhaldi
Date: Sun Jun 5 20:59:09 2011
New Revision: 52100
URL:
http://svn.reactos.org/svn/reactos?rev=52100&view=rev
Log:
[CRT/INTRINSICS]
Timo Kreuzer:
* Change inline assembly constraint from "r" to "q". "r"
means any kind of register, including *si and *di, these cannot be used for 8bit
operations on x86, only x64 has sil, dil registers. But gcc is stupid and doesn't get
that if we don't tell it explicitly, by using "q", which will only allow a,
b, c, d registers. Fixes an assembler error messages that can occur under certain
circumstances.
Modified:
trunk/reactos/include/crt/mingw32/intrin_x86.h
Modified: trunk/reactos/include/crt/mingw32/intrin_x86.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/crt/mingw32/intrin…
==============================================================================
--- trunk/reactos/include/crt/mingw32/intrin_x86.h [iso-8859-1] (original)
+++ trunk/reactos/include/crt/mingw32/intrin_x86.h [iso-8859-1] Sun Jun 5 20:59:09 2011
@@ -911,7 +911,7 @@
__INTRIN_INLINE unsigned char _rotr8(unsigned char value, unsigned char shift)
{
unsigned char retval;
- __asm__("rorb %b[shift], %b[retval]" : [retval] "=rm" (retval) :
"[retval]" (value), [shift] "Nc" (shift));
+ __asm__("rorb %b[shift], %b[retval]" : [retval] "=qm" (retval) :
"[retval]" (value), [shift] "Nc" (shift));
return retval;
}