diff --git a/src/llvm_backend_asm.cpp b/src/llvm_backend_asm.cpp index 2e5e93d00..972d763ea 100644 --- a/src/llvm_backend_asm.cpp +++ b/src/llvm_backend_asm.cpp @@ -1,3 +1,5 @@ +#define LLVM_ASM_DEBUG_PRINT false + struct lbAsmGenerate { Entity * tmpl_entity; AstAsmTemplate * tmpl_node; @@ -306,6 +308,10 @@ struct lbAsmGenerate_amd64 : lbAsmGenerate { asm_string = this->write_operand(asm_string, op_number, mem_op->disp, disp_flags); } + if (mem_op->base == nullptr && mem_op->index == nullptr) { + GB_ASSERT(mem_op->scale == nullptr); + return asm_string; + } asm_string = gb_string_appendc(asm_string, "("); if (mem_op->base != nullptr) { asm_string = this->write_operand(asm_string, op_number, mem_op->base, flags); @@ -668,7 +674,7 @@ struct lbAsmGenerate_amd64 : lbAsmGenerate { LLVMValueRef call = LLVMBuildCall2(p->builder, fn_ty, ia, call_args.data, cast(unsigned)call_args.count, ""); - if (false) { + if (LLVM_ASM_DEBUG_PRINT) { // DEBUG PRINT!!! // DEBUG PRINT!!! // DEBUG PRINT!!!