fn internal_binop_no_def_r_mem(&mut self, inst: &str, op1: &P<Value>, op2: &P<Value>) {
        let len = check_op_len(op1);

        let inst = inst.to_string() + &op_postfix(len);
        trace!("emit: {} {} {}", inst, op1, op2);

        let (reg, id, loc) = self.prepare_reg(op1, inst.len() + 1);
        let (mem, mut uses) = self.prepare_mem(op2, inst.len() + 1 + reg.len() + 1);

        if uses.contains_key(&id) {
            let locs = uses.get_mut(&id).unwrap();
            vec_utils::add_unique(locs, loc.clone());
        } else {
            uses.insert(id, vec![loc.clone()]);
        }

        let asm = format!("{} {},{}", inst, reg, mem);

        self.add_asm_inst(asm, linked_hashmap!{}, uses, true)
    }
/// emits an instruction (use 1 reg 1 mem, define none)
emits an instruction (use 1 reg 1 mem, define none)
emits an instruction ( use 1 reg 1 mem define none )
fn internal_binop_no_def_r_mem(&mut self, inst: &str, op1: &P<Value>, op2: &P<Value>) {
        let len = check_op_len(op1);
        let inst = inst.to_string() + &op_postfix(len);
        trace!("emit: {} {} {}", inst, op1, op2);
        let (reg, id, loc) = self.prepare_reg(op1, inst.len() + 1);
        let (mem, mut uses) = self.prepare_mem(op2, inst.len() + 1 + reg.len() + 1);
        if uses.contains_key(&id) {
            let locs = uses.get_mut(&id).unwrap();
            vec_utils::add_unique(locs, loc.clone());
        } else {
            uses.insert(id, vec![loc.clone()]);
        }
        let asm = format!("{} {},{}", inst, reg, mem);
        self.add_asm_inst(asm, linked_hashmap!{}, uses, true)
    }
fn internal_binop_no_def_r_mem ( & mut self , inst : & str , op1 : & P < Value > , op2 : & P < Value > ) { let len = check_op_len ( op1 ) ; let inst = inst . to_string ( ) + & op_postfix ( len ) ; trace ! ( " " inst op1 op2 ) ; let ( reg , id , loc ) = self . prepare_reg ( op1 , inst . len ( ) + 1 ) ; let ( mem , mut uses ) = self . prepare_mem ( op2 , inst . len ( ) + 1 + reg . len ( ) + 1 ) ; if uses . contains_key ( & id ) { let locs = uses . get_mut ( & id ) . unwrap ( ) ; vec_utils :: add_unique ( locs , loc . clone ( ) ) ; } else { uses . insert ( id , vec ! [ loc clone ( ) ] ) ; } let asm = format ! ( " " inst reg mem ) ; self . add_asm_inst ( asm , linked_hashmap ! { } , uses , true ) }
emits an instruction (use 1 reg 1 mem, define none)
emits an instruction ( use 1 reg 1 mem define none )
&mut self
inst
&str
op1
&P<Value>
op2
&P<Value>
&mut self
inst
&str
op1
&P<Value>
op2
&P<Value>