diff options
Diffstat (limited to 'src/long_mode')
-rw-r--r-- | src/long_mode/display.rs | 2 | ||||
-rw-r--r-- | src/long_mode/mod.rs | 2 | ||||
-rw-r--r-- | src/long_mode/vex.rs | 5 |
3 files changed, 9 insertions, 0 deletions
diff --git a/src/long_mode/display.rs b/src/long_mode/display.rs index 8c73d1a..e2943d3 100644 --- a/src/long_mode/display.rs +++ b/src/long_mode/display.rs @@ -929,6 +929,7 @@ const MNEMONICS: &[&'static str] = &[ "vpmaxsw", "vpmaxub", "vpmaxud", + "vpminsw", "vpminsd", "vpminud", "vpmovmskb", @@ -2027,6 +2028,7 @@ impl <T: fmt::Write, Color: fmt::Display, Y: YaxColors<Color>> Colorize<T, Color Opcode::VPMAXSW | Opcode::VPMAXUB | Opcode::VPMAXUD | + Opcode::VPMINSW | Opcode::VPMINSD | Opcode::VPMINUD | Opcode::VPTEST | diff --git a/src/long_mode/mod.rs b/src/long_mode/mod.rs index 04d1fc6..5f08a16 100644 --- a/src/long_mode/mod.rs +++ b/src/long_mode/mod.rs @@ -1221,6 +1221,7 @@ pub enum Opcode { VPMAXSW, VPMAXUB, VPMAXUD, + VPMINSW, VPMINSD, VPMINUD, VPMOVMSKB, @@ -2739,6 +2740,7 @@ impl InstDecoder { Opcode::VPMAXSW | Opcode::VPMAXUB | Opcode::VPMAXUD | + Opcode::VPMINSW | Opcode::VPMINSD | Opcode::VPMINUD | Opcode::VPMOVMSKB | diff --git a/src/long_mode/vex.rs b/src/long_mode/vex.rs index 8325e3f..bab8167 100644 --- a/src/long_mode/vex.rs +++ b/src/long_mode/vex.rs @@ -1364,6 +1364,11 @@ fn read_vex_instruction<T: Iterator<Item=u8>>(opcode_map: VEXOpcodeMap, bytes: & } else { VEXOperandCode::G_V_E_xmm }), + 0xEA => (Opcode::VPMINSW, if L { + VEXOperandCode::G_V_E_ymm + } else { + VEXOperandCode::G_V_E_xmm + }), 0xEB => (Opcode::VPOR, if L { VEXOperandCode::G_V_E_ymm } else { |