blob: 70f113fb5abeb73f6d058c48e7e25497f21be329 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O3 -march=armv8-a+crypto" } */
#include "arm_neon.h"
uint8x16_t
test0 (uint8x16_t a, uint8x16_t b)
{
uint8x16_t result;
result = vaeseq_u8 (a, b);
result = vaeseq_u8 (result, a);
return result;
}
uint8x16_t
test1 (uint8x16_t a, uint8x16_t b)
{
uint8x16_t result;
result = vaeseq_u8 (a, b);
result = vaeseq_u8 (a, result);
return result;
}
uint8x16_t
test2 (uint8x16_t a, uint8x16_t b)
{
uint8x16_t result;
result = vaeseq_u8 (b, a);
result = vaeseq_u8 (result, b);
return result;
}
uint8x16_t
test3 (uint8x16_t a, uint8x16_t b)
{
uint8x16_t result;
result = vaeseq_u8 (b, a);
result = vaeseq_u8 (b, result);
return result;
}
uint8x16_t
test4 (uint8x16_t a, uint8x16_t b)
{
uint8x16_t result;
result = vaesdq_u8 (a, b);
result = vaesdq_u8 (result, a);
return result;
}
uint8x16_t
test5 (uint8x16_t a, uint8x16_t b)
{
uint8x16_t result;
result = vaesdq_u8 (a, b);
result = vaesdq_u8 (a, result);
return result;
}
uint8x16_t
test6 (uint8x16_t a, uint8x16_t b)
{
uint8x16_t result;
result = vaesdq_u8 (b, a);
result = vaesdq_u8 (result, b);
return result;
}
uint8x16_t
test7 (uint8x16_t a, uint8x16_t b)
{
uint8x16_t result;
result = vaesdq_u8 (b, a);
result = vaesdq_u8 (b, result);
return result;
}
/* { dg-final { scan-assembler-not "mov" } } */