diff options
-rw-r--r-- | mu_instructions | 2 | ||||
-rw-r--r-- | mu_summary | 3 |
2 files changed, 1 insertions, 4 deletions
diff --git a/mu_instructions b/mu_instructions index c8be987b..9897d6c0 100644 --- a/mu_instructions +++ b/mu_instructions @@ -218,8 +218,6 @@ var/reg: (offset T) <- compute-offset arr: (addr array T), idx/regi: int # arr {.name="compute-offset", .inouts=[arr, regi], .outputs=[reg], .subx-name="69/multiply", .rm32=inouts[1], .r32=outputs[0], .imm32=sizeof(T)} var/reg: (offset T) <- compute-offset arr: (addr array T), idx: int # arr can be in reg or mem {.name="compute-offset", .inouts=[arr, regi], .outputs=[reg], .subx-name="69/multiply", .rm32="*(ebp+" inouts[1].stack-offset ")", .r32=outputs[0], .imm32=sizeof(T)} -var: (offset T) <- compute-offset arr: (addr array T), n # arr can be in reg or mem - {.name="compute-offset", .inouts=[var, n], .outputs=[reg], .subx-name="c7 0/subop/copy", .rm32=outputs[0], .imm32=sizeof(T)*n} var/reg <- index arr/rega: (addr array T), o/rego: offset {.name="index", .inouts=[rega, rego], .outputs=[reg], .subx-name="8d/copy-address", .rm32="*(" inouts[0] "+" inouts[1] "+" "4)", .r32=outputs[0]} diff --git a/mu_summary b/mu_summary index e4e82905..f15b6bd1 100644 --- a/mu_summary +++ b/mu_summary @@ -202,8 +202,7 @@ Similarly, conditional loops: var/reg: (addr T) <- index arr/reg: (addr array T), n var/reg: (offset T) <- compute-offset arr: (addr array T), idx/reg: int # arr can be in reg or mem - var/reg: (offset T) <- compute-offset arr: (addr array T), n # arr can be in reg or mem - var: (offset T) <- compute-offset arr: (addr array T), n # arr can be in reg or mem + var/reg: (offset T) <- compute-offset arr: (addr array T), idx: int # arr can be in reg or mem var/reg: (addr T) <- index arr/reg: (addr array T), idx/reg: (offset T) ## User-defined types |