[ros-diffs] [akhaldi] 52100: [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 ...
akhaldi at svn.reactos.org
akhaldi at svn.reactos.org
Sun Jun 5 20:59:09 UTC 2011
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_x86.h?rev=52100&r1=52099&r2=52100&view=diff
==============================================================================
--- 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;
}
More information about the Ros-diffs
mailing list