From e76ca92f31d64b967dfa0e2debb51841bf93505f Mon Sep 17 00:00:00 2001 From: iximeow Date: Sun, 6 Apr 2025 14:21:55 -0700 Subject: shift vs sat order in display, vxaddsubh/vxsubaddh/extractu/decbin --- src/lib.rs | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index c9b2bb0..650c7f9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -4520,13 +4520,8 @@ fn decode_instruction< } else { handler.on_dest_decoded(Operand::gprpair(ddddd)?)?; } - if op_lo < 0b10 { - handler.on_source_decoded(Operand::gprpair(sssss)?)?; - handler.on_source_decoded(Operand::gprpair(ttttt)?)?; - } else { - handler.on_source_decoded(Operand::gprpair(ttttt)?)?; - handler.on_source_decoded(Operand::gprpair(sssss)?)?; - } + handler.on_source_decoded(Operand::gprpair(sssss)?)?; + handler.on_source_decoded(Operand::gprpair(ttttt)?)?; } 0b10 => { static OPCODES: [Option; 8] = [ @@ -4548,8 +4543,9 @@ fn decode_instruction< } } _ => { - static OPCODES: [Opcode; 4] = [ - Opcode::Vxaddsubh, Opcode::Vxsubaddh, Opcode::Extractu, Opcode::Decbin, + static OPCODES: [Opcode; 8] = [ + Opcode::Vxaddsubh, Opcode::Vxaddsubh, Opcode::Vxsubaddh, Opcode::Vxsubaddh, + Opcode::Extractu, Opcode::Extractu, Opcode::Decbin, Opcode::Decbin, ]; handler.on_opcode_decoded(OPCODES[op_lo as usize])?; @@ -4557,7 +4553,7 @@ fn decode_instruction< handler.on_source_decoded(Operand::gprpair(sssss)?)?; handler.on_source_decoded(Operand::gprpair(ttttt)?)?; - if op_lo < 0b10 { + if op_lo < 0b100 { handler.rounded(RoundingMode::Round)?; handler.shift_right(1)?; handler.saturate()?; -- cgit v1.1