>> But since contemporary processors are SSSE3-capable it makes more sense
>> to benchmark *older* processors when evaluating integer-only
>> optimizations.
> 
>   You're right (except the K10, which hasn't SSSE3),

That's why I mentioned Opteron. I mean I see no reason to believe that
improvement would be very different on K10 vs. Opteron, and provided
that there is virtually no improvement on the latter, loss on other
non-SSSE3 platforms outweighs in favour of current code.

> the main goal is to
> use this code in SSSE3 code path.
> 
> 
>> How do you measure on i5? Specifically if so called Turbo Boost is off
>> or on? And if on, do you compensate for it? I mean 4.9 does sound
>> impressive, but at the same time it sounds too good
> 
>  You're right again. I measured my code with Turbo Boost on using RDTSC.
> Without Turbo it gives 5.6 cpb, and it's however a little bit faster
> than OpenSSL implementation (361 vs 367 clocks for full block).
> It means the optimization still exist, and I think there should be more
> gain if this code is used in OpenSSL SSSE3 codepath (I use completely
> different SSSE3 code generation that is possibly less effective).

Not necessarily. Out-of-order execution logic can be forgiving (and
current Intel out-of-order logic *is* forgiving enough) in sense that
different sequences, even ones considered "less effective", can be
executed equally fast. Sometimes it's more about sheer amount of u-ops
than specific sequence of machine codes, and this case is very much like
this. Indication is that increase of u-ops on Sandy Bridge reflects
decrease in performance rather closely... Having said that one can go on
and argue that it makes as much sense to optimize instruction sequence
for in-order-execution core, because that's where it matters,
out-of-order will manage anyway. And the thing is that current
instruction sequence is optimized for ... Atom with elements of
scheduling for slower SIMD unit. I.e. current code path is not really
"optimized" for Intel Core, so what is "less effective"?
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to