From c20f0934deeafebde5b80c15834087f1228778a6 Mon Sep 17 00:00:00 2001 From: Taylor R Campbell Date: Fri, 30 Oct 2009 19:51:11 -0400 Subject: [PATCH] Fix bug in IMUL L/Q rules: immediate operand is a long, not a word. --- src/compiler/machines/x86-64/instr1.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler/machines/x86-64/instr1.scm b/src/compiler/machines/x86-64/instr1.scm index 294572171..8efff15c6 100644 --- a/src/compiler/machines/x86-64/instr1.scm +++ b/src/compiler/machines/x86-64/instr1.scm @@ -430,7 +430,7 @@ USA. (((? size operand-size) (R (? target)) (? source r/m-ea) - (& (? multiplier sign-extended-word))) + (& (? multiplier sign-extended-long))) (PREFIX (OPERAND size) (ModR/M target source)) (BITS (8 #x6b)) (ModR/M target source) @@ -438,7 +438,7 @@ USA. (((? size operand-size) (R (? target)) (? source r/m-ea) - (&U (? multiplier zero-extended-word))) + (&U (? multiplier zero-extended-long))) (PREFIX (OPERAND size) (ModR/M target source)) (BITS (8 #x6b)) (ModR/M target source) -- 2.25.1