@@ -1004,11 +1004,41 @@ MINI_OP(OP_CVTTPS2DQ, "cvttps2dq", XREG, XREG, NONE)
1004
1004
/* multiply all 4 single precision float elements, add them together, and store the result to the lowest element */
1005
1005
MINI_OP (OP_DPPS , "dpps" , XREG , XREG , XREG )
1006
1006
1007
- /* sse 4.1 */
1007
+ /* sse 1 */
1008
+ /* inst_c1 is target type */
1009
+ MINI_OP (OP_SSE_LOADU , "sse_loadu" , XREG , XREG , NONE )
1010
+ MINI_OP (OP_SSE_MOVMSK , "sse_movmsk" , IREG , XREG , NONE )
1011
+ MINI_OP (OP_SSE_STORE , "sse_store" , NONE , XREG , XREG )
1012
+ MINI_OP (OP_SSE_STORES , "sse_stores" , NONE , XREG , XREG )
1013
+ MINI_OP (OP_SSE_MOVS , "sse_movs" , XREG , XREG , NONE )
1014
+ MINI_OP (OP_SSE_MOVS2 , "sse_movs2" , XREG , XREG , XREG )
1015
+ MINI_OP (OP_SSE_MOVEHL , "sse_movehl" , XREG , XREG , XREG )
1016
+ MINI_OP (OP_SSE_MOVELH , "sse_movelh" , XREG , XREG , XREG )
1017
+ MINI_OP (OP_SSE_UNPACKLO , "sse_unpacklo" , XREG , XREG , XREG )
1018
+ MINI_OP (OP_SSE_UNPACKHI , "sse_unpackhi" , XREG , XREG , XREG )
1019
+ MINI_OP (OP_SSE_SHUFFLE , "sse_shuffle" , XREG , XREG , XREG )
1020
+ MINI_OP (OP_SSE_AND , "sse_and" , XREG , XREG , XREG )
1021
+ MINI_OP (OP_SSE_OR , "sse_or" , XREG , XREG , XREG )
1022
+ MINI_OP (OP_SSE_XOR , "sse_xor" , XREG , XREG , XREG )
1023
+ MINI_OP (OP_SSE_ANDN , "sse_andn" , XREG , XREG , XREG )
1024
+
1025
+ /* sse 2 */
1026
+ MINI_OP (OP_SSE2_PACKUS , "sse2_packus" , XREG , XREG , XREG )
1027
+ MINI_OP (OP_SSE2_SRLI , "sse2_srli" , XREG , XREG , XREG )
1028
+ MINI_OP (OP_SSE2_SHUFFLE , "sse2_shuffle" , XREG , XREG , XREG )
1029
+
1030
+ /* sse 3 */
1031
+ MINI_OP (OP_SSE3_MOVDDUP , "sse3_movddup" , XREG , XREG , NONE )
1032
+
1033
+ /* ssse 3 */
1034
+ MINI_OP (OP_SSSE3_SHUFFLE , "ssse3_shuffle" , XREG , XREG , XREG )
1008
1035
1036
+ /* sse 4.1 */
1009
1037
/* inst_c0 is the rounding mode: 0 = round, 1 = floor, 2 = ceiling */
1010
1038
MINI_OP (OP_SSE41_ROUNDPD , "roundpd" , XREG , XREG , NONE )
1011
1039
MINI_OP (OP_SSE41_ROUNDSS , "roundss" , XREG , XREG , NONE )
1040
+ MINI_OP3 (OP_SSE41_INSERT , "sse41_insert" , XREG , XREG , XREG , IREG )
1041
+ MINI_OP (OP_SSE41_PTESTZ , "sse41_ptestz" , IREG , XREG , XREG )
1012
1042
1013
1043
/* Intel BMI1 */
1014
1044
/* Count trailing zeroes, return 32/64 if the input is 0 */
@@ -1031,6 +1061,8 @@ MINI_OP3(OP_MULX_HL64, "mulxhl64", LREG, LREG, LREG, LREG)
1031
1061
1032
1062
#endif
1033
1063
1064
+ MINI_OP (OP_CREATE_SCALAR_UNSAFE , "create_scalar_unsafe" , XREG , XREG , NONE )
1065
+
1034
1066
MINI_OP (OP_XMOVE , "xmove" , XREG , XREG , NONE )
1035
1067
MINI_OP (OP_XZERO , "xzero" , XREG , NONE , NONE )
1036
1068
MINI_OP (OP_XONES , "xones" , XREG , NONE , NONE )
0 commit comments