aboutsummaryrefslogtreecommitdiff
path: root/src/long_mode/mod.rs
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2020-07-26 03:58:12 -0700
committeriximeow <me@iximeow.net>2020-07-26 03:58:12 -0700
commit4d8a4c7b22192ed3154369e177ad8ffdc9cd12cc (patch)
tree50965e3e02dc8053557232aafbf165acacfafe30 /src/long_mode/mod.rs
parent1f0cdea3e996ff2006c560c1f495ca49b03c23ee (diff)
palignr and mpsabdw
Diffstat (limited to 'src/long_mode/mod.rs')
-rw-r--r--src/long_mode/mod.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/long_mode/mod.rs b/src/long_mode/mod.rs
index d709e53..4f3723b 100644
--- a/src/long_mode/mod.rs
+++ b/src/long_mode/mod.rs
@@ -6205,11 +6205,18 @@ fn unlikely_operands<T: Iterator<Item=u8>>(decoder: &InstDecoder, mut bytes_iter
match op {
0x0c => { instruction.opcode = Opcode::BLENDPS; }
0x0d => { instruction.opcode = Opcode::BLENDPD; }
- 0x0f => { instruction.opcode = Opcode::PALIGNR; }
+ 0x0f => {
+ instruction.opcode = Opcode::PALIGNR;
+ return read_operands(decoder, bytes_iter, instruction, OperandCode::G_E_mm_Ib, length);
+ }
0x10 => { instruction.opcode = Opcode::BLENDVB; }
0x14 => { instruction.opcode = Opcode::BLENDVPS; }
0x15 => { instruction.opcode = Opcode::BLENDVPD; }
+ 0x42 => {
+ instruction.opcode = Opcode::MPSADBW;
+ return read_operands(decoder, bytes_iter, instruction, OperandCode::G_E_xmm_Ib, length);
+ }
0xcc => {
instruction.opcode = Opcode::SHA1RNDS4;