mirror of
https://github.com/RPCSX/xbyak.git
synced 2024-11-23 03:19:43 +00:00
add test of alias of vpclmulqdq
This commit is contained in:
parent
2c59c5c91e
commit
2149c79e33
@ -1493,18 +1493,6 @@ class Test {
|
||||
put(p, XMM, XMM|MEM, IMM);
|
||||
}
|
||||
}
|
||||
{
|
||||
const char tbl[][16] = {
|
||||
"pclmullqlqdq",
|
||||
"pclmulhqlqdq",
|
||||
"pclmullqhqdq",
|
||||
"pclmulhqhqdq",
|
||||
};
|
||||
for (size_t i = 0; i < NUM_OF_ARRAY(tbl); i++) {
|
||||
const char *p = tbl[i];
|
||||
put(p, XMM, XMM|MEM);
|
||||
}
|
||||
}
|
||||
put("extractps", REG32e|MEM, XMM, IMM);
|
||||
put("pextrw", REG32e|MEM, XMM, IMM); // pextrw for REG32 is for MMX2
|
||||
put("pextrb", REG32e|MEM, XMM, IMM);
|
||||
@ -1522,6 +1510,23 @@ class Test {
|
||||
#endif
|
||||
|
||||
}
|
||||
void putVpclmulqdq()
|
||||
{
|
||||
const char tbl[][16] = {
|
||||
"vpclmullqlqdq",
|
||||
"vpclmulhqlqdq",
|
||||
"vpclmullqhqdq",
|
||||
"vpclmulhqhqdq",
|
||||
};
|
||||
for (size_t i = 0; i < NUM_OF_ARRAY(tbl); i++) {
|
||||
const char *p = tbl[i] + 1; // remove the top 'v'
|
||||
put(p, XMM, XMM|MEM);
|
||||
p = tbl[i]; // use the top 'v'
|
||||
put(p, XMM, XMM, XMM|MEM);
|
||||
put(p, YMM, YMM, YMM|MEM);
|
||||
put(p, ZMM, ZMM, ZMM|MEM);
|
||||
}
|
||||
}
|
||||
void putSHA() const
|
||||
{
|
||||
put("sha1rnds4", XMM, XMM|MEM, IMM);
|
||||
@ -2569,6 +2574,7 @@ public:
|
||||
putPushPop8_16();
|
||||
#else
|
||||
putSIMPLE();
|
||||
putVpclmulqdq();
|
||||
putReg1();
|
||||
putBt();
|
||||
putRorM();
|
||||
|
Loading…
Reference in New Issue
Block a user