diff options
Diffstat (limited to 'test/apx.cpp')
-rw-r--r-- | test/apx.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/apx.cpp b/test/apx.cpp index d184e6c..f03b032 100644 --- a/test/apx.cpp +++ b/test/apx.cpp @@ -1753,3 +1753,25 @@ CYBOZU_TEST_AUTO(kmov) CYBOZU_TEST_EQUAL(c.getSize(), n); CYBOZU_TEST_EQUAL_ARRAY(c.getCode(), tbl, n); } + +CYBOZU_TEST_AUTO(amx) +{ + struct Code : Xbyak::CodeGenerator { + Code() + { + ldtilecfg(ptr [r30+r29*4+0x12]); + sttilecfg(ptr [r30+r29*4+0x12]); + tileloadd(tmm1, ptr [r30+r29*4+0x12]); + tileloaddt1(tmm3, ptr [r30+r29*4+0x12]); + tilestored(ptr [r30+r29*4+0x12], tmm5); + } + } c; + const uint8_t tbl[] = { + 0x62, 0x9a, 0x78, 0x08, 0x49, 0x44, 0xae, 0x12, 0x62, 0x9a, 0x79, 0x08, 0x49, 0x44, 0xae, 0x12, + 0x62, 0x9a, 0x7b, 0x08, 0x4b, 0x4c, 0xae, 0x12, 0x62, 0x9a, 0x79, 0x08, 0x4b, 0x5c, 0xae, 0x12, + 0x62, 0x9a, 0x7a, 0x08, 0x4b, 0x6c, 0xae, 0x12, + }; + const size_t n = sizeof(tbl); + CYBOZU_TEST_EQUAL(c.getSize(), n); + CYBOZU_TEST_EQUAL_ARRAY(c.getCode(), tbl, n); +} |