diff options
author | MITSUNARI Shigeo <[email protected]> | 2016-07-14 15:00:03 +0900 |
---|---|---|
committer | MITSUNARI Shigeo <[email protected]> | 2016-07-14 15:00:03 +0900 |
commit | c04cfa4fda3e71ca910306f332dedfbcd8e835a2 (patch) | |
tree | ae687a98f706aff38591953f98d43ff8f0166484 /test/make_nm.cpp | |
parent | 50cceb1786bd621b2d6f55973f59b91b0c2f811d (diff) | |
download | xbyak-c04cfa4fda3e71ca910306f332dedfbcd8e835a2.tar.gz xbyak-c04cfa4fda3e71ca910306f332dedfbcd8e835a2.zip |
fix vpbroadcast{b,w} ; add vbroadcasti{32x2,32x4,64x2,32x8,64x4}
Diffstat (limited to 'test/make_nm.cpp')
-rw-r--r-- | test/make_nm.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/make_nm.cpp b/test/make_nm.cpp index 1a7dd2d..df990e0 100644 --- a/test/make_nm.cpp +++ b/test/make_nm.cpp @@ -2612,6 +2612,28 @@ public: for (int i = 0; i < 9; i++) { putBroadcastSub(i); } + put("vpbroadcastb", XMM_KZ | ZMM_KZ, REG8); + put("vpbroadcastw", XMM_KZ | ZMM_KZ, REG16); + put("vpbroadcastd", XMM_KZ | ZMM_KZ, REG32); +#ifdef XBYAK64 + put("vpbroadcastq", XMM_KZ | ZMM_KZ, REG64); +#endif + { + const char *tbl[] = { + "vpbroadcastb", + "vpbroadcastw", + "vpbroadcastd", + "vpbroadcastq", + }; + for (size_t i = 0; i < NUM_OF_ARRAY(tbl); i++) { + put(tbl[i], XMM_KZ | ZMM_KZ, _XMM | _MEM); + } + } + put("vbroadcasti32x2", XMM_KZ | YMM_KZ | ZMM_KZ, _XMM | _MEM); + put("vbroadcasti32x4", YMM_KZ | ZMM_KZ, _MEM); + put("vbroadcasti64x2", YMM_KZ | ZMM_KZ, _MEM); + put("vbroadcasti32x8", ZMM_KZ, _MEM); + put("vbroadcasti64x4", ZMM_KZ, _MEM); } void putAVX512_M_X() { |