vaes* supports AVX-512
This commit is contained in:
parent
7fde08e0f0
commit
9e16b40b06
4 changed files with 107 additions and 36 deletions
|
@ -130,4 +130,47 @@ CYBOZU_TEST_AUTO(vfmaddps)
|
|||
CYBOZU_TEST_EQUAL(c.getSize(), n);
|
||||
CYBOZU_TEST_EQUAL_ARRAY(c.getCode(), tbl, n);
|
||||
}
|
||||
CYBOZU_TEST_AUTO(vaes)
|
||||
{
|
||||
struct Code : Xbyak::CodeGenerator {
|
||||
Code()
|
||||
{
|
||||
vaesdec(xmm20, xmm30, ptr [rcx + 64]);
|
||||
vaesdec(ymm1, ymm2, ptr [rcx + 64]);
|
||||
vaesdec(zmm1, zmm2, ptr [rcx + 64]);
|
||||
|
||||
vaesdeclast(xmm20, xmm30, ptr [rax + 64]);
|
||||
vaesdeclast(ymm20, ymm30, ptr [rax + 64]);
|
||||
vaesdeclast(zmm20, zmm30, ptr [rax + 64]);
|
||||
|
||||
vaesenc(xmm20, xmm30, ptr [rcx + 64]);
|
||||
vaesenc(ymm1, ymm2, ptr [rcx + 64]);
|
||||
vaesenc(zmm1, zmm2, ptr [rcx + 64]);
|
||||
|
||||
vaesenclast(xmm20, xmm30, ptr [rax + 64]);
|
||||
vaesenclast(ymm20, ymm30, ptr [rax + 64]);
|
||||
vaesenclast(zmm20, zmm30, ptr [rax + 64]);
|
||||
}
|
||||
} c;
|
||||
const uint8_t tbl[] = {
|
||||
0x62, 0xE2, 0x0D, 0x00, 0xDE, 0x61, 0x04,
|
||||
0xC4, 0xE2, 0x6D, 0xDE, 0x49, 0x40,
|
||||
0x62, 0xF2, 0x6D, 0x48, 0xDE, 0x49, 0x01,
|
||||
|
||||
0x62, 0xE2, 0x0D, 0x00, 0xDF, 0x60, 0x04,
|
||||
0x62, 0xE2, 0x0D, 0x20, 0xDF, 0x60, 0x02,
|
||||
0x62, 0xE2, 0x0D, 0x40, 0xDF, 0x60, 0x01,
|
||||
|
||||
0x62, 0xE2, 0x0D, 0x00, 0xDC, 0x61, 0x04,
|
||||
0xC4, 0xE2, 0x6D, 0xDC, 0x49, 0x40,
|
||||
0x62, 0xF2, 0x6D, 0x48, 0xDC, 0x49, 0x01,
|
||||
|
||||
0x62, 0xE2, 0x0D, 0x00, 0xDD, 0x60, 0x04,
|
||||
0x62, 0xE2, 0x0D, 0x20, 0xDD, 0x60, 0x02,
|
||||
0x62, 0xE2, 0x0D, 0x40, 0xDD, 0x60, 0x01,
|
||||
};
|
||||
const size_t n = sizeof(tbl) / sizeof(tbl[0]);
|
||||
CYBOZU_TEST_EQUAL(c.getSize(), n);
|
||||
CYBOZU_TEST_EQUAL_ARRAY(c.getCode(), tbl, n);
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue