From: Taylor R Campbell Date: Fri, 30 Oct 2009 23:51:11 +0000 (-0400) Subject: Fix bug in IMUL L/Q rules: immediate operand is a long, not a word. X-Git-Tag: 20100708-Gtk~286 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=c20f0934deeafebde5b80c15834087f1228778a6;p=mit-scheme.git Fix bug in IMUL L/Q rules: immediate operand is a long, not a word. --- 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)