fn emit_movapd_f64_mem128(&mut self, dest: Reg, src: Mem) {
        trace!("emit movapd {} -> {}", src, dest);

        let (mem, mut uses) = self.prepare_mem(src, 6 + 1);
        let (reg, id2, loc2) = self.prepare_fpreg(dest, 6 + 1 + mem.len() + 1);

        // memory op won't use a fpreg, we insert the use of fpreg
        uses.insert(id2, vec![loc2.clone()]);

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

        self.add_asm_inst(
            asm,
            linked_hashmap!{
                id2 => vec![loc2.clone()]
            },
            uses,
            true
        )
    }
// move aligned packed double-precision fp values
move aligned packed double-precision fp values
move aligned packed double - precision fp values
fn emit_movapd_f64_mem128(&mut self, dest: Reg, src: Mem) {
        trace!("emit movapd {} -> {}", src, dest);
        let (mem, mut uses) = self.prepare_mem(src, 6 + 1);
        let (reg, id2, loc2) = self.prepare_fpreg(dest, 6 + 1 + mem.len() + 1);
        // memory op won't use a fpreg, we insert the use of fpreg
        uses.insert(id2, vec![loc2.clone()]);
        let asm = format!("movapd {},{}", mem, reg);
        self.add_asm_inst(
            asm,
            linked_hashmap!{
                id2 => vec![loc2.clone()]
            },
            uses,
            true
        )
    }
fn emit_movapd_f64_mem128 ( & mut self , dest : Reg , src : Mem ) { trace ! ( " " src dest ) ; let ( mem , mut uses ) = self . prepare_mem ( src , 6 + 1 ) ; let ( reg , id2 , loc2 ) = self . prepare_fpreg ( dest , 6 + 1 + mem . len ( ) + 1 ) ; // memory op won't use a fpreg, we insert the use of fpreg uses . insert ( id2 , vec ! [ loc2 clone ( ) ] ) ; let asm = format ! ( " " mem reg ) ; self . add_asm_inst ( asm , linked_hashmap ! { id2 vec [ loc2 clone ( ) ] } , uses , true ) }
move aligned packed double-precision fp values
move aligned packed double - precision fp values
&mut self
dest
Reg
src
Mem
&mut self
dest
Reg
src
Mem