diff options
| author | Kathy Gray | 2014-11-13 14:16:15 +0000 |
|---|---|---|
| committer | Kathy Gray | 2014-11-13 14:16:15 +0000 |
| commit | 086b8375c4a39e519129e965930ccf5b4cfb8f11 (patch) | |
| tree | 6cdf5390b978fe4304607b16347bf7ada3637933 | |
| parent | 55450b6ba4985e2863c957584f1d14fdcfda8be2 (diff) | |
Catch more cases of registers for extern_reg
| -rw-r--r-- | src/lem_interp/interp_inter_imp.lem | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lem_interp/interp_inter_imp.lem b/src/lem_interp/interp_inter_imp.lem index 92a0b238..58a92cef 100644 --- a/src/lem_interp/interp_inter_imp.lem +++ b/src/lem_interp/interp_inter_imp.lem @@ -66,6 +66,8 @@ let extern_reg r slice = match (r,slice) with | (Interp.Reg (Id_aux (Id x) _) _,Nothing) -> Reg x | (Interp.Reg (Id_aux (Id x) _) _,Just(i1,i2)) -> Reg_slice x (i1,i2) | (Interp.SubReg (Id_aux (Id x) _) (Interp.Reg (Id_aux (Id y) _) _) (BF_aux(BF_single i) _),Nothing) -> Reg_field y x (i,i) + | (Interp.SubReg (Id_aux (Id x) _) (Interp.Reg (Id_aux (Id y) _) _) (BF_aux(BF_range i j) _), Nothing) -> Reg_field y x (i,j) + | (Interp.SubReg (Id_aux (Id x) _) (Interp.Reg (Id_aux (Id y) _) _) (BF_aux(BF_range i j) _), Just(i1,j1)) -> Reg_f_slice y x (i,j) (i1,j1) end let rec extern_value mode for_mem optional_start v = match v with |
