fn internal_binop_def_r_imm(&mut self, inst: &str, dest: &P<Value>, src: i32) {
        let len = check_op_len(dest);

        let inst = inst.to_string() + &op_postfix(len);
        trace!("emit: {} {}, {} -> {}", inst, src, dest, dest);

        let imm = self.prepare_imm(src, len);
        let (reg1, id1, loc1) =
            self.prepare_reg(dest, inst.len() + 1 + 1 + imm.to_string().len() + 1);

        let asm = format!("{} ${},{}", inst, imm, reg1);

        self.add_asm_inst(
            asm,
            linked_hashmap!{
                id1 => vec![loc1.clone()]
            },
            linked_hashmap!{
                id1 => vec![loc1]
            },
            false
        )
    }
/// emits an instruction (use 1 reg 1 imm, define the reg)
emits an instruction (use 1 reg 1 imm, define the reg)
emits an instruction ( use 1 reg 1 imm define the reg )
fn internal_binop_def_r_imm(&mut self, inst: &str, dest: &P<Value>, src: i32) {
        let len = check_op_len(dest);
        let inst = inst.to_string() + &op_postfix(len);
        trace!("emit: {} {}, {} -> {}", inst, src, dest, dest);
        let imm = self.prepare_imm(src, len);
        let (reg1, id1, loc1) =
            self.prepare_reg(dest, inst.len() + 1 + 1 + imm.to_string().len() + 1);
        let asm = format!("{} ${},{}", inst, imm, reg1);
        self.add_asm_inst(
            asm,
            linked_hashmap!{
                id1 => vec![loc1.clone()]
            },
            linked_hashmap!{
                id1 => vec![loc1]
            },
            false
        )
    }
fn internal_binop_def_r_imm ( & mut self , inst : & str , dest : & P < Value > , src : i32 ) { let len = check_op_len ( dest ) ; let inst = inst . to_string ( ) + & op_postfix ( len ) ; trace ! ( " " inst src dest dest ) ; let imm = self . prepare_imm ( src , len ) ; let ( reg1 , id1 , loc1 ) = self . prepare_reg ( dest , inst . len ( ) + 1 + 1 + imm . to_string ( ) . len ( ) + 1 ) ; let asm = format ! ( " " inst imm reg1 ) ; self . add_asm_inst ( asm , linked_hashmap ! { id1 vec [ loc1 clone ( ) ] } , linked_hashmap ! { id1 vec [ loc1 ] } , false ) }
emits an instruction (use 1 reg 1 imm, define the reg)
emits an instruction ( use 1 reg 1 imm define the reg )
&mut self
inst
&str
dest
&P<Value>
src
i32
&mut self
inst
&str
dest
&P<Value>
src
i32