diff --git a/core/rexcode/isa/x86/mnemonics.odin b/core/rexcode/isa/x86/mnemonics.odin index dc65bc3b2..e5e6f31fc 100644 --- a/core/rexcode/isa/x86/mnemonics.odin +++ b/core/rexcode/isa/x86/mnemonics.odin @@ -1053,6 +1053,7 @@ Mnemonic :: enum u16 { VDBPSADBW, VPTERNLOGD, VPTERNLOGQ, + VPDPWSSD, VPMULTISHIFTQB, KADDW, KADDB, diff --git a/core/rexcode/isa/x86/tablegen/clobber_table.odin b/core/rexcode/isa/x86/tablegen/clobber_table.odin index c241bb22e..a3348447a 100644 --- a/core/rexcode/isa/x86/tablegen/clobber_table.odin +++ b/core/rexcode/isa/x86/tablegen/clobber_table.odin @@ -4038,6 +4038,11 @@ CLOBBER_TABLE := [Mnemonic][]x86.Clobber{ {written={0}, read={1, 2, 3}, reads_mem=true}, {written={0}, read={1, 2, 3}, reads_mem=true}, }, + .VPDPWSSD = { + {written={0}, read={1, 2}, reads_mem=true}, + {written={0}, read={1, 2}, reads_mem=true}, + {written={0}, read={1, 2}, reads_mem=true}, + }, .VPMULTISHIFTQB = { {written={0}, read={1, 2}, reads_mem=true}, {written={0}, read={1, 2}, reads_mem=true}, diff --git a/core/rexcode/isa/x86/tablegen/encoding_table.odin b/core/rexcode/isa/x86/tablegen/encoding_table.odin index 9390789f7..bbdca40af 100644 --- a/core/rexcode/isa/x86/tablegen/encoding_table.odin +++ b/core/rexcode/isa/x86/tablegen/encoding_table.odin @@ -4063,6 +4063,11 @@ ENCODING_TABLE := [Mnemonic][]Encoding{ {.VPTERNLOGQ, {.YMM, .YMM, .YMM_M256, .IMM8}, {.REG, .VVVV, .MR, .IB}, 0x25, 0, {esc=._0F3A, prefix=PREFIX_66, vex_type=.EVEX, vex_l=.L1, vex_w=.W1}}, {.VPTERNLOGQ, {.ZMM, .ZMM, .ZMM_M512, .IMM8}, {.REG, .VVVV, .MR, .IB}, 0x25, 0, {esc=._0F3A, prefix=PREFIX_66, vex_type=.EVEX, vex_l=.L2, vex_w=.W1}}, }, + .VPDPWSSD = { + {.VPDPWSSD, {.XMM, .XMM, .XMM_M128, .NONE}, {.REG, .VVVV, .MR, .NONE}, 0x52, 0, {esc=._0F38, prefix=PREFIX_66, vex_type=.EVEX, vex_l=.L0, vex_w=.W0}}, + {.VPDPWSSD, {.YMM, .YMM, .YMM_M256, .NONE}, {.REG, .VVVV, .MR, .NONE}, 0x52, 0, {esc=._0F38, prefix=PREFIX_66, vex_type=.EVEX, vex_l=.L1, vex_w=.W0}}, + {.VPDPWSSD, {.ZMM, .ZMM, .ZMM_M512, .NONE}, {.REG, .VVVV, .MR, .NONE}, 0x52, 0, {esc=._0F38, prefix=PREFIX_66, vex_type=.EVEX, vex_l=.L2, vex_w=.W0}}, + }, .VPMULTISHIFTQB = { {.VPMULTISHIFTQB, {.XMM, .XMM, .XMM_M128, .NONE}, {.REG, .VVVV, .MR, .NONE}, 0x83, 0, {esc=._0F38, prefix=PREFIX_66, vex_type=.EVEX, vex_l=.L0, vex_w=.W1}}, {.VPMULTISHIFTQB, {.YMM, .YMM, .YMM_M256, .NONE}, {.REG, .VVVV, .MR, .NONE}, 0x83, 0, {esc=._0F38, prefix=PREFIX_66, vex_type=.EVEX, vex_l=.L1, vex_w=.W1}},