diff options
author | MITSUNARI Shigeo <[email protected]> | 2024-10-07 10:59:08 +0900 |
---|---|---|
committer | MITSUNARI Shigeo <[email protected]> | 2024-10-07 10:59:08 +0900 |
commit | ee42b66543b7a416eff50540cc20221beb3e7739 (patch) | |
tree | bb54ca2e20d250d00918a1cb079a3c493afc5327 /gen | |
parent | 4856dcca61daaea808a4e8050e4ecf678cabd93e (diff) | |
download | xbyak-ee42b66543b7a416eff50540cc20221beb3e7739.tar.gz xbyak-ee42b66543b7a416eff50540cc20221beb3e7739.zip |
add {rd,wr}{fs,gs}base
Diffstat (limited to 'gen')
-rw-r--r-- | gen/gen_code.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gen/gen_code.cpp b/gen/gen_code.cpp index e43c9b2..ee8494f 100644 --- a/gen/gen_code.cpp +++ b/gen/gen_code.cpp @@ -2057,6 +2057,15 @@ void put64() // encodekey puts("void encodekey128(const Reg32& r1, const Reg32& r2) { opEncodeKey(r1, r2, 0xFA, 0xDA); }"); puts("void encodekey256(const Reg32& r1, const Reg32& r2) { opEncodeKey(r1, r2, 0xFB, 0xDB); }"); + // read/write fs/gs + { + const char *tbl[] = { + "rdfs", "rdgs", "wrfs", "wrgs" + }; + for (int i = 0; i < 4; i++) { + printf("void %sbase(const Reg32e& r) { opRR(%s, r, T_F3|T_0F, 0xAE); }\n", tbl[i], Reg(i, Operand::REG, 32).toString()); + } + } } void putAMX_TILE() |