Home GnuPG

First take on using AES-NI instructions
a39539afdf39Unpublished

Unpublished Commit · Learn More

Not On Permanent Ref: This commit is not an ancestor of any permanent ref.

Description

First take on using AES-NI instructions

This first naive use of the new Intel AES-NI instructions boosts the
performance of AES on CPUs supporting this by 3 to 5 times.

Results from running

./benchmark --cipher-repetitions 10 --large-buffers  cipher aes

on a

cpu family      : 6
model           : 37
model name      : Intel(R) Core(TM) i5 CPU         660  @ 3.33GHz
stepping        : 2
cpu MHz         : 3325.494
cache size      : 4096 KB
cpu cores       : 2

yields this:

ECB/Stream         CBC             CFB             OFB             CTR

130ms   110ms   110ms   100ms   110ms   110ms   160ms   150ms   170ms   170ms
 40ms    40ms    20ms    30ms    30ms    20ms    70ms    70ms    80ms    80ms

The first line is with runtime switched off AES-NI instructions (don't
set use_aesni in do_setkey), the second with enabled AES-NI. By
fixing the alignment, I hope to squeeze out a little more even with
this naive implementation.

Details

Provenance
wernerAuthored on Feb 13 2011, 5:48 PM
Parents
rC487e4da34e31: Renamed existing flag for AES-NI and fixed detection.
Branches
Unknown
Tags
Unknown

Event Timeline

Werner Koch <wk@gnupg.org> committed rCa39539afdf39: First take on using AES-NI instructions (authored by Werner Koch <wk@gnupg.org>).Feb 13 2011, 5:48 PM