aesni: Make sure the CPU supports SSSE3

There are no real CPUs that support AES-NI/PCLMULQDQ but don't support
SSSE3.  However, in VMs the vCPU features might not exactly match those
of the underlying CPU.  So if SSSE3 is missing, the PSHUFB instruction
would cause a SIGILL.  The referenced commit is the first one that uses
the `_mm_shuffle_epi8` intrinsic.

Fixes: 74d43cbde9 ("aesni: Implement a AES-NI based CTR crypter using the key schedule")
This commit is contained in:
Tobias Brunner
2026-07-24 08:47:37 +02:00
parent e37aac7b4f
commit 383b4cb0fc
@@ -96,7 +96,8 @@ METHOD(plugin_t, get_features, int,
};
*features = f;
if (cpu_feature_available(CPU_FEATURE_AESNI | CPU_FEATURE_PCLMULQDQ))
if (cpu_feature_available(CPU_FEATURE_AESNI | CPU_FEATURE_PCLMULQDQ |
CPU_FEATURE_SSSE3))
{
return countof(f);
}