https://github.com/mdaxini/howto-openssl/wiki/OpenSSL-Cipher-Speed
The openssl manual notes: https://wiki.openssl.org/index.php/Manual:OPENSSL_ia32cap(3)
OPENSSL_ia32cap:
bit #33 denoting availability of PCLMULQDQ instruction;
bit #57 denoting AES-NI instruction set extension;
Disabling both results in different performance between having AES-NI on and off in the BIOS.
The difference is not noticeable in aes-128-cbc, but is in other algorithms:
== Disable Both AES-NI and PCLMULQDQ ==
OPENSSL_ia32cap="~0x200000200000000" openssl speed -elapsed -evp aes-128-cbc
AES-NI ON: 363 MB/s
AES-NI OFF: 363 MB/s
OPENSSL_ia32cap="~0x200000200000000" openssl speed -elapsed -evp aes-128-gcm
AES-NI ON: 260 MB/s
AES-NI OFF: 260 MB/s
== Disabled only AES-NI ==
OPENSSL_ia32cap="~0x200000000000000" openssl speed -elapsed -evp aes-128-cbc
AES-NI ON: 363 MB/s
AES-NI OFF: 363 MB/s
OPENSSL_ia32cap="~0x200000000000000" openssl speed -elapsed -evp aes-128-gcm
AES-NI ON: 516 MB/s
AES-NI OFF: 516 MB/s
== Normal ==
openssl speed -elapsed -evp aes-128-cbc
AES-NI ON: 768 MB/s
AES-NI OFF: 363 MB/s
openssl speed -elapsed -evp aes-128-gcm
AES-NI ON: 3315 MB/s
AES-NI OFF: 516 MB/s
As you can see, under aes-128-gcm, disabling the additional instructions, rather than just AES-NI, cuts performance in half.