Since top-posting seems to make sense, ...

looks good, Jeff - at least it is spot-on WRT my comments - thanks.

On Thursday, July 16, 2015 at 2:32:15 PM UTC-7, Jeffrey Walton wrote:
>
> Hi Everyone,
>
> Attached is the update patch for misc.h and rotate. It does a few things:
>
>   (1) it documents rotFixed, rotVariable and rotMod
>   (2) it documents rough timings and potential undefined behavior
>   (3) if UB is possible, it asserts
>   (4) it silences warnings
>   (5) it adds native GCC support of x86 and x86_64
>
> A corollary of (3) is if the underlying instruction does suffer undefined 
> behavior (by using a compiler intrinsic or inline assembly), then the 
> assert is not present because UB is a C/C++ constraint, and not an ASM 
> constraint.
>
> The shift by a value represented in a byte are always OK. More correctly, 
> the underlying operand is a register, memory or immediate-8. Shifting a 
> 64-bit value means 'y' only needs to be [0,63] inclusive. So anything at or 
> above 64 is just in an equivalence class, and can always be safely reduced. 
> Because it can always be reduced, all the Microsoft warnings were squashed. 
> (I think this is point Robert was trying to make).
>
> If all goes well, we'll hand craft some GCC assembly for ARM. That will 
> get us support for Android, iOS, Windows Phone and embedded. At the moment, 
> we just fall back to the slower C/C++.
>
> I'll commit it later today or tonight after testing if there are no 
> comments or objections. If the testing reveals issues, like degraded 
> performance, then I'll defer the commit.
>
>
<elided patch details> 

-- 
-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to