summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--asmcomp/i386/emit.mlp3
-rw-r--r--asmcomp/i386/emit_nt.mlp2
2 files changed, 5 insertions, 0 deletions
diff --git a/asmcomp/i386/emit.mlp b/asmcomp/i386/emit.mlp
index 245feadcb..840dab875 100644
--- a/asmcomp/i386/emit.mlp
+++ b/asmcomp/i386/emit.mlp
@@ -141,6 +141,9 @@ let emit_addressing addr r n =
| Iindexed2 d ->
if d <> 0 then emit_int d;
`({emit_reg r.(n)}, {emit_reg r.(n+1)})`
+ | Iscaled(2, d) ->
+ if d <> 0 then emit_int d;
+ `({emit_reg r.(n)}, {emit_reg r.(n)})`
| Iscaled(scale, d) ->
if d <> 0 then emit_int d;
`(, {emit_reg r.(n)}, {emit_int scale})`
diff --git a/asmcomp/i386/emit_nt.mlp b/asmcomp/i386/emit_nt.mlp
index 2a6bb7519..2eb9de80b 100644
--- a/asmcomp/i386/emit_nt.mlp
+++ b/asmcomp/i386/emit_nt.mlp
@@ -126,6 +126,8 @@ let emit_addressing addr r n =
`[{emit_reg r.(n)}{emit_signed_int d}]`
| Iindexed2 d ->
`[{emit_reg r.(n)}+{emit_reg r.(n+1)}{emit_signed_int d}]`
+ | Iscaled(2, d) ->
+ `[{emit_reg r.(n)}+{emit_reg r.(n)}{emit_signed_int d}]`
| Iscaled(scale, d) ->
`[{emit_reg r.(n)}*{emit_int scale}{emit_signed_int d}]`
| Iindexed2scaled(scale, d) ->