From 93a5925f027ce5a4bd94f6411302df0041c24b44 Mon Sep 17 00:00:00 2001 From: SarahW Date: Wed, 19 Dec 2018 22:23:59 +0000 Subject: [PATCH] Use MOVZX on x86-64 when loading a word sized function parameter. Fixes issues when built with LLVM and -O3. --- src/codegen_backend_x86-64_uops.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/codegen_backend_x86-64_uops.c b/src/codegen_backend_x86-64_uops.c index ad11134..049c626 100644 --- a/src/codegen_backend_x86-64_uops.c +++ b/src/codegen_backend_x86-64_uops.c @@ -771,9 +771,9 @@ static int codegen_LOAD_FUNC_ARG0(codeblock_t *block, uop_t *uop) if (REG_IS_W(src_size)) { #if WIN64 - host_x86_MOV16_REG_REG(block, REG_ECX, src_reg); + host_x86_MOVZX_REG_32_16(block, REG_ECX, src_reg); #else - host_x86_MOV16_REG_REG(block, REG_EDI, src_reg); + host_x86_MOVZX_REG_32_16(block, REG_EDI, src_reg); #endif } else