move general to float

This commit is contained in:
Folkert 2023-09-16 18:03:59 +02:00
parent 8ceb705212
commit f22318e54e
No known key found for this signature in database
GPG key ID: 1F17F6FFD112B97C
3 changed files with 84 additions and 2 deletions

View file

@ -311,6 +311,9 @@ pub trait Assembler<GeneralReg: RegTrait, FloatReg: RegTrait>: Sized + Copy {
fn mov_reg32_freg32(buf: &mut Vec<'_, u8>, dst: GeneralReg, src: FloatReg);
fn mov_reg64_freg64(buf: &mut Vec<'_, u8>, dst: GeneralReg, src: FloatReg);
fn mov_freg32_reg32(buf: &mut Vec<'_, u8>, dst: FloatReg, src: GeneralReg);
fn mov_freg64_reg64(buf: &mut Vec<'_, u8>, dst: FloatReg, src: GeneralReg);
fn mov_reg_reg(
buf: &mut Vec<'_, u8>,
register_width: RegisterWidth,
@ -4331,7 +4334,7 @@ impl<
let val = i64::from_ne_bytes(val.to_ne_bytes());
ASM::mov_reg64_imm64(&mut self.buf, reg, val);
ASM::to_float_freg64_reg64(&mut self.buf, freg, reg);
ASM::mov_freg64_reg64(&mut self.buf, freg, reg);
self.storage_manager.free_symbol(&tmp);
}
@ -4346,7 +4349,7 @@ impl<
let val = i32::from_ne_bytes(val.to_ne_bytes());
ASM::mov_reg64_imm64(&mut self.buf, reg, val as i64);
ASM::to_float_freg32_reg64(&mut self.buf, freg, reg);
ASM::mov_freg32_reg32(&mut self.buf, freg, reg);
self.storage_manager.free_symbol(&tmp);
}