From 1c1a369df1c28e1d8e9ba80e865a2d0fb09a6a90 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Wed, 31 Aug 2022 13:27:22 +0200 Subject: [PATCH] Added some missing emitter on x86_64 singlepass (for #3161) --- lib/compiler-singlepass/src/emitter_x64.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/compiler-singlepass/src/emitter_x64.rs b/lib/compiler-singlepass/src/emitter_x64.rs index 635635e9d72..9bff2b090a2 100644 --- a/lib/compiler-singlepass/src/emitter_x64.rs +++ b/lib/compiler-singlepass/src/emitter_x64.rs @@ -1417,6 +1417,12 @@ impl EmitterX64 for AssemblerX64 { (Size::S16, Location::Memory(src, disp), Size::S64, Location::GPR(dst)) => { dynasm!(self ; movzx Rq(dst as u8), WORD [Rq(src as u8) + disp]); } + (Size::S32, Location::GPR(src), Size::S64, Location::GPR(dst)) => { + dynasm!(self ; movzx Rq(dst as u8), Rw(src as u8)); + } + (Size::S32, Location::Memory(src, disp), Size::S64, Location::GPR(dst)) => { + dynasm!(self ; movzx Rq(dst as u8), WORD [Rq(src as u8) + disp]); + } _ => { codegen_error!( "singlepass can't emit MOVZX {:?} {:?} {:?} {:?}",