From c45371b319bb72b331f889f7340834c709e1f8a4 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Wed, 25 Aug 2021 22:17:19 -0700 Subject: compute-offset: literal index --- mu_instructions | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mu_instructions') diff --git a/mu_instructions b/mu_instructions index 2dca40c4..4898f9a1 100644 --- a/mu_instructions +++ b/mu_instructions @@ -367,6 +367,8 @@ var/reg: (offset T) <- compute-offset arr: (addr array T), idx/regi: int # arr => "69/multiply %" regi " " size-of(T) "/imm32 " reg "/r32" var/reg: (offset T) <- compute-offset arr: (addr array T), idx: int # arr can be in reg or mem => "69/multiply *(ebp+" idx.stack-offset ") " size-of(T) "/imm32 " reg "/r32" +var/reg: (offset T) <- compute-offset arr: (addr array T), n # arr can be in reg or mem + => "c7 0/subop/copy %" reg " " n*size-of(T) "/imm32" var/reg: (addr T) <- index arr/rega: (addr array T), o/rego: (offset T) => "81 7/subop/compare %" rega " 0/imm32" "0f 84/jump-if-= __mu-abort-null-index-base-address/disp32" -- cgit 1.4.1-2-gfad0