more instructions

This commit is contained in:
JanLJL
2020-05-04 18:50:58 +02:00
parent 1009c60d2d
commit 94d7d35c0b

View File

@@ -2549,7 +2549,7 @@ instruction_forms:
name: "xmm"
source: true
destination: true
- name: mulpd
- name: [mulpd, mulps]
operands:
- class: "register"
name: "xmm"
@@ -2559,7 +2559,597 @@ instruction_forms:
name: "xmm"
source: true
destination: true
- name: [pand, por, pxor]
- name: [packssdw, packsswb, packusdw, packuswb]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [packssdw, packsswb, packusdw, packuswb]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [paddb, paddw, paddd, paddq, paddsb, paddsw, paddusb, paddusw]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [paddb, paddw, paddd, paddq, paddsb, paddsw, paddusb, paddusw]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [pand, por, pxor, pandn]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [pand, por, pxor, pandn]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [pavgb, pavgw]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [pavgb, pavgw]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [pcmpeqb, pcmpeqw, pcmpeqd, pcmpeqq]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [pcmpeqb, pcmpeqw, pcmpeqd, pcmpeqq]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [pcmpgtb, pcmpgtw, pcmpgtd, pcmpgtq]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [pcmpgtb, pcmpgtw, pcmpgtd, pcmpgtq]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: pmaddubsw
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: pmaddubsw
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: pmaddwd
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: pmaddwd
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [pmaxsb, pmaxsw, pmaxsd, pmaxsq]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [pmaxsb, pmaxsw, pmaxsd, pmaxsq]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [pmaxub, pmaxuw, pmaxud, pmaxuq]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [pmaxub, pmaxuw]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [pminsb, pminsw, pminsd, pminsq]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [pminsb, pminsw, pminsd, pminsq]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [pminub, pminuw, pminud, pminuq]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [pminub, pminuw]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: pmuldq
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [pmulhrsw, pmulhuw, pmulhw, pmullw]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [pmulhrsw, pmulhuw, pmulhw, pmullw]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: pmuludq
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: pmuludq
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: psadbw
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: psadbw
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: pshufb
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: pshufb
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [psignb, psignw, psignd]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [psignb, psignw, psignd]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [psllw, pslld, psllq]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [psllw, pslld, psllq]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [psllw, pslld, psllq]
operands:
- class: "immediate"
imd: "int"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [psllw, pslld, psllq]
operands:
- class: "immediate"
imd: "int"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: pslldq
operands:
- class: "immediate"
imd: "int"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [psraw, psrad, psraq]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [psraw, psrad, psraq]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [psraw, psrad, psraq]
operands:
- class: "immediate"
imd: "int"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [psraw, psrad, psraq]
operands:
- class: "immediate"
imd: "int"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [psrlw, psrld, psrlq]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [psrlw, psrld, psrlq]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [psrlw, psrld, psrlq]
operands:
- class: "immediate"
imd: "int"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [psrlw, psrld, psrlq]
operands:
- class: "immediate"
imd: "int"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: psrldq
operands:
- class: "immediate"
imd: "int"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [psubb, psubw, psubd, psubq]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [psubb, psubw, psubd, psubq]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [psubsb, psubsw]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [psubsb, psubsw]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [psubusb, psubusw]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [psubusb, psubusw]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [punpckhbw, punpckhwd, punpckhdq, punpckhqdq]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [punpckhbw, punpckhwd, punpckhdq, punpckhqdq]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [punpcklbw, punpcklwd, punpckldq, punpcklqdq]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [punpcklbw, punpcklwd, punpckldq, punpcklqdq]
operands:
- class: "register"
name: "mm"
source: true
destination: false
- class: "register"
name: "mm"
source: true
destination: true
- name: [sha1msg2, sha1nexte]
operands:
- class: "register"
name: "xmm"
@@ -2808,6 +3398,16 @@ instruction_forms:
name: "CF"
source: false
destination: true
- name: [subsd, subpd]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: [subss, subps]
operands:
- class: "register"
@@ -2829,6 +3429,10 @@ instruction_forms:
source: true
destination: false
hidden_operands:
- class: "flag"
name: "AF"
source: false
destination: true
- class: "flag"
name: "SF"
source: false
@@ -2855,6 +3459,10 @@ instruction_forms:
source: true
destination: false
hidden_operands:
- class: "flag"
name: "AF"
source: false
destination: true
- class: "flag"
name: "SF"
source: false
@@ -2881,6 +3489,10 @@ instruction_forms:
source: true
destination: false
hidden_operands:
- class: "flag"
name: "AF"
source: false
destination: true
- class: "flag"
name: "SF"
source: false
@@ -2904,6 +3516,10 @@ instruction_forms:
source: true
destination: false
hidden_operands:
- class: "flag"
name: "AF"
source: false
destination: true
- class: "flag"
name: "SF"
source: false
@@ -2916,6 +3532,16 @@ instruction_forms:
name: "PF"
source: false
destination: true
- name: [unpcklps, unpcklpd]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: true
- name: vldmxcsr
operands:
- class: "memory"
@@ -3125,6 +3751,60 @@ instruction_forms:
scale: "*"
source: true
destination: true
- name: [vptest, ptest]
operands:
- class: "register"
name: "xmm"
source: true
destination: false
- class: "register"
name: "xmm"
source: true
destination: false
hidden_operands:
- class: "flag"
name: "AF"
source: false
destination: true
- class: "flag"
name: "SF"
source: false
destination: true
- class: "flag"
name: "ZF"
source: false
destination: true
- class: "flag"
name: "PF"
source: false
destination: true
- name: vptest
operands:
- class: "register"
name: "ymm"
source: true
destination: false
- class: "register"
name: "ymm"
source: true
destination: false
hidden_operands:
- class: "flag"
name: "AF"
source: false
destination: true
- class: "flag"
name: "SF"
source: false
destination: true
- class: "flag"
name: "ZF"
source: false
destination: true
- class: "flag"
name: "PF"
source: false
destination: true
- name: vzeroall
operands: []
hidden_operands:
@@ -3281,3 +3961,14 @@ instruction_forms:
name: "xmm"
source: true
destination: true
- name: [shl, shr, shlq, shrq]
operands:
- class: "immediate"
imd: "int"
source: true
destination: false
- class: "register"
name: "gpr"
source: true
destination: true