diff options
author | MITSUNARI Shigeo <[email protected]> | 2023-12-01 13:37:17 +0900 |
---|---|---|
committer | MITSUNARI Shigeo <[email protected]> | 2023-12-01 13:37:17 +0900 |
commit | bec145ba918a7ce23e7aafebe641afb2a67b1e03 (patch) | |
tree | e57b0a301a513541b39e729700043cd57a6c86c5 /test/apx.cpp | |
parent | 944438195bd68e2ec2e45a5a9b1fe0e7b9bf1463 (diff) | |
download | xbyak-bec145ba918a7ce23e7aafebe641afb2a67b1e03.tar.gz xbyak-bec145ba918a7ce23e7aafebe641afb2a67b1e03.zip |
amx supports apx
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); +} |