There's no need for having identical code spelled out twice.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
goto done;
break;
case SrcImm:
+ if ( !(d & ByteOp) )
+ src.bytes = op_bytes != 8 ? op_bytes : 4;
+ else
+ {
+ case SrcImmByte:
+ src.bytes = 1;
+ }
src.type = OP_IMM;
- src.bytes = (d & ByteOp) ? 1 : op_bytes;
- if ( src.bytes == 8 ) src.bytes = 4;
/* NB. Immediates are sign-extended as necessary. */
switch ( src.bytes )
{
case 4: src.val = insn_fetch_type(int32_t); break;
}
break;
- case SrcImmByte:
- src.type = OP_IMM;
- src.bytes = 1;
- src.val = insn_fetch_type(int8_t);
- break;
}
/* Decode and fetch the destination operand: register or memory. */