for (int i = 0; i < len; i += 16)
{
int j;
-#if __x86_64__
r = u8x16_xor3 (r, *(u8x16u *) (src + i), k[0]);
for (j = 1; j < rounds; j++)
r = aes_enc_round_x1 (r, k[j]);
r = aes_enc_last_round_x1 (r, k[rounds]);
-#else
- r ^= *(u8x16u *) (src + i);
- for (j = 1; j < rounds - 1; j++)
- r = vaesmcq_u8 (vaeseq_u8 (r, k[j]));
- r = vaeseq_u8 (r, k[j]) ^ k[rounds];
-#endif
*(u8x16u *) (dst + i) = r;
}
}
* Copyright(c) 2021 Cisco Systems, Inc.
*/
-#ifdef __AES__
+#if defined(__AES__) || defined(__ARM_FEATURE_CRYPTO)
#include <vppinfra/format.h>
#include <vppinfra/test/test.h>
#include <vppinfra/crypto/aes_cbc.h>
* Copyright(c) 2024 Cisco Systems, Inc.
*/
-#if defined(__AES__)
+#if defined(__AES__) || defined(__ARM_FEATURE_CRYPTO)
#include <vppinfra/format.h>
#include <vppinfra/test/test.h>
#include <vppinfra/crypto/aes_ctr.h>
* Copyright(c) 2021 Cisco Systems, Inc.
*/
-#if defined(__AES__) && defined(__PCLMUL__)
+#if (defined(__AES__) && defined(__PCLMUL__)) || defined(__ARM_FEATURE_CRYPTO)
#include <vppinfra/format.h>
#include <vppinfra/test/test.h>
#include <vppinfra/crypto/aes_gcm.h>