I added a CLD in there as well. For zero cycles, it's a good peace of mind.
On Wed, Dec 9, 2015 at 8:59 PM, Davide Libenzi <[email protected]> wrote: > I tested that in your branch. Works. > Also looked at generated code, which now has proper reload. > > > > > > > On Dec 9, 2015, at 20:54, barret rhoden <[email protected]> wrote: > > > >> On 2015-12-09 at 20:04 'Davide Libenzi' via Akaros wrote: > >> Adding RSI, RDI, ECX as clobbers does not work. But marking them RW > >> does. > > > > yep! that's what i was aiming for. =) will try it out tomorrow. > > > > barret > > > > > >> > >> > >> > https://github.com/brho/akaros/compare/master...dlibenzi:gcc_fuggetaboud_ecx_v2 > >> > >> The following changes since commit > >> 2fa42319139e4cc5ca853546363f84443d0ead00: > >> > >> Rename 'reallocarray' to 'kreallocarray'. (2015-11-25 18:02:04 > >> -0500) > >> > >> are available in the git repository at: > >> > >> [email protected]:dlibenzi/akaros gcc_fuggetaboud_ecx_v2 > >> > >> for you to fetch changes up to > >> 3d4a4ec56106e29a31265eed30db6d77cf0bfc53: > >> > >> Flags RSI, RDI, ECX as RW operands so that GCC does not assume const > >> (2015-12-09 19:55:47 -0800) > >> > >> ---------------------------------------------------------------- > >> Davide Libenzi (1): > >> Flags RSI, RDI, ECX as RW operands so that GCC does not assume > >> const > >> > >> kern/arch/x86/uaccess.h | 4 ++-- > >> 1 file changed, 2 insertions(+), 2 deletions(-) > >> > >> diff --git a/kern/arch/x86/uaccess.h b/kern/arch/x86/uaccess.h > >> index cba0ef5..f8edaf4 100644 > >> --- a/kern/arch/x86/uaccess.h > >> +++ b/kern/arch/x86/uaccess.h > >> @@ -101,8 +101,8 @@ struct extable_ip_fixup { > >> " jmp 2b\n" \ > >> ".previous\n" \ > >> _ASM_EXTABLE(1b, 3b) \ > >> - : "=r"(err) \ > >> - : "D" (dst), "S" (src), "c" (count), "i" (errret), "0" (err) \ > >> + : "=r"(err), "+D" (dst), "+S" (src), "+c" (count) \ > >> + : "i" (errret), "0" (err) \ > >> : "memory") > >> > >> static inline int __put_user(void *dst, const void *src, unsigned int > >> count) > > > > -- > > You received this message because you are subscribed to the Google > Groups "Akaros" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to [email protected]. > > To post to this group, send email to [email protected]. > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Akaros" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. For more options, visit https://groups.google.com/d/optout.
