#include <stdio.h>
#include "intel-ipsec-mb.h"
+#include "noaesni.h"
#include "asm.h"
static uint32_t in[4*3] = {
}
void
-aes_xcbc_expand_key_avx(const void *key, void *k1_exp, void *k2, void *k3)
+aes_xcbc_expand_key_sse_no_aesni(const void *key, void *k1_exp,
+ void *k2, void *k3)
+{
+ DECLARE_ALIGNED(uint32_t keys_exp_enc[11*4], 16);
+
+ aes_keyexp_128_enc_sse_no_aesni(key, keys_exp_enc);
+
+ aes128_ecbenc_x3_sse_no_aesni(in, keys_exp_enc, k1_exp, k2, k3);
+
+ aes_keyexp_128_enc_sse_no_aesni(k1_exp, k1_exp);
+}
+
+__forceinline
+void
+aes_xcbc_expand_key_avx_common(const void *key,
+ void *k1_exp, void *k2, void *k3)
{
DECLARE_ALIGNED(uint32_t keys_exp_enc[11*4], 16);
aes_keyexp_128_enc_avx(k1_exp, k1_exp);
}
+
+void
+aes_xcbc_expand_key_avx(const void *key, void *k1_exp, void *k2, void *k3)
+{
+ aes_xcbc_expand_key_avx_common(key, k1_exp, k2, k3);
+}
+
+void
+aes_xcbc_expand_key_avx2(const void *key, void *k1_exp, void *k2, void *k3)
+{
+ aes_xcbc_expand_key_avx_common(key, k1_exp, k2, k3);
+}
+
+void
+aes_xcbc_expand_key_avx512(const void *key, void *k1_exp, void *k2, void *k3)
+{
+ aes_xcbc_expand_key_avx_common(key, k1_exp, k2, k3);
+}