add vpexpand{b,w}
This commit is contained in:
parent
e450f96513
commit
5af0ba3977
3 changed files with 44 additions and 0 deletions
|
@ -522,4 +522,43 @@ CYBOZU_TEST_AUTO(vpdpbus)
|
|||
CYBOZU_TEST_EQUAL(c.getSize(), n);
|
||||
CYBOZU_TEST_EQUAL_ARRAY(c.getCode(), tbl, n);
|
||||
}
|
||||
CYBOZU_TEST_AUTO(vexpand)
|
||||
{
|
||||
struct Code : Xbyak::CodeGenerator {
|
||||
Code()
|
||||
{
|
||||
vpexpandb(xmm5|k3|T_z, xmm30);
|
||||
vpexpandb(ymm5|k3|T_z, ymm30);
|
||||
vpexpandb(zmm5|k3|T_z, zmm30);
|
||||
vpexpandb(xmm5|k3|T_z, ptr [rax + 0x40]);
|
||||
vpexpandb(ymm5|k3|T_z, ptr [rax + 0x40]);
|
||||
vpexpandb(zmm5|k3|T_z, ptr [rax + 0x40]);
|
||||
|
||||
vpexpandw(xmm5|k3|T_z, xmm30);
|
||||
vpexpandw(ymm5|k3|T_z, ymm30);
|
||||
vpexpandw(zmm5|k3|T_z, zmm30);
|
||||
vpexpandw(xmm5|k3|T_z, ptr [rax + 0x40]);
|
||||
vpexpandw(ymm5|k3|T_z, ptr [rax + 0x40]);
|
||||
vpexpandw(zmm5|k3|T_z, ptr [rax + 0x40]);
|
||||
}
|
||||
} c;
|
||||
const uint8_t tbl[] = {
|
||||
0x62, 0x92, 0x7d, 0x8b, 0x62, 0xee,
|
||||
0x62, 0x92, 0x7d, 0xab, 0x62, 0xee,
|
||||
0x62, 0x92, 0x7d, 0xcb, 0x62, 0xee,
|
||||
0x62, 0xf2, 0x7d, 0x8b, 0x62, 0x68, 0x40,
|
||||
0x62, 0xf2, 0x7d, 0xab, 0x62, 0x68, 0x40,
|
||||
0x62, 0xf2, 0x7d, 0xcb, 0x62, 0x68, 0x40,
|
||||
|
||||
0x62, 0x92, 0xfd, 0x8b, 0x62, 0xee,
|
||||
0x62, 0x92, 0xfd, 0xab, 0x62, 0xee,
|
||||
0x62, 0x92, 0xfd, 0xcb, 0x62, 0xee,
|
||||
0x62, 0xf2, 0xfd, 0x8b, 0x62, 0x68, 0x20,
|
||||
0x62, 0xf2, 0xfd, 0xab, 0x62, 0x68, 0x20,
|
||||
0x62, 0xf2, 0xfd, 0xcb, 0x62, 0x68, 0x20,
|
||||
};
|
||||
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