mirror of
https://github.com/reactos/reactos.git
synced 2024-08-05 11:00:55 +00:00
[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. svn path=/trunk/; revision=52100
This commit is contained in:
parent
b6d8950a07
commit
09284f5d66
|
@ -911,7 +911,7 @@ __INTRIN_INLINE unsigned int _rotr(unsigned int value, int shift)
|
|||
__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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue