diff options
-rw-r--r-- | asmcomp/i386/emit.mlp | 3 | ||||
-rw-r--r-- | asmcomp/i386/emit_nt.mlp | 2 |
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) -> |