diff --git a/test/misc.cpp b/test/misc.cpp index 740b56a..9f4a632 100644 --- a/test/misc.cpp +++ b/test/misc.cpp @@ -866,4 +866,23 @@ CYBOZU_TEST_AUTO(vnni) CYBOZU_TEST_EXCEPTION(c.badVex(), std::exception); } +CYBOZU_TEST_AUTO(vaddph) +{ + struct Code : Xbyak::CodeGenerator { + Code() + { + vaddph(zmm0, zmm1, ptr[rax+64]); + vaddph(ymm0, ymm1, ptr[rax+64]); + vaddph(xmm0, xmm1, ptr[rax+64]); + } + } c; + const uint8_t tbl[] = { + 0x62, 0xF5, 0x74, 0x48, 0x58, 0x40, 0x01, + 0x62, 0xF5, 0x74, 0x28, 0x58, 0x40, 0x02, + 0x62, 0xF5, 0x74, 0x08, 0x58, 0x40, 0x04, + }; + const size_t n = sizeof(tbl) / sizeof(tbl[0]); + CYBOZU_TEST_EQUAL(c.getSize(), n); + CYBOZU_TEST_EQUAL_ARRAY(c.getCode(), tbl, n); +} #endif