diff options
author | Cyril SIX <cyril.six@kalray.eu> | 2019-04-03 16:32:59 +0200 |
---|---|---|
committer | Cyril SIX <cyril.six@kalray.eu> | 2019-04-03 16:32:59 +0200 |
commit | e0fb40f126c980819869bf2a2f32f7332b1b4a5a (patch) | |
tree | e80686110986df274bb14e1bb167c446ff4dacab /mppa_k1c/Asmblock.v | |
parent | 34261e53d0da905307eb3e0a0b711571365b078e (diff) | |
download | compcert-kvx-e0fb40f126c980819869bf2a2f32f7332b1b4a5a.tar.gz compcert-kvx-e0fb40f126c980819869bf2a2f32f7332b1b4a5a.zip |
Preuve des load/store registre registre. Reste des modifs mineures dans les preuves de Asmblockdeps
Diffstat (limited to 'mppa_k1c/Asmblock.v')
-rw-r--r-- | mppa_k1c/Asmblock.v | 38 |
1 files changed, 14 insertions, 24 deletions
diff --git a/mppa_k1c/Asmblock.v b/mppa_k1c/Asmblock.v index 9d7b372e..408b8c31 100644 --- a/mppa_k1c/Asmblock.v +++ b/mppa_k1c/Asmblock.v @@ -1262,44 +1262,34 @@ Definition eval_offset (ofs: offset) : res ptrofs := end end. -Definition exec_load (chunk: memory_chunk) (rs: regset) (m: mem) - (d: ireg) (a: ireg) (ptr: ptrofs) := - match Mem.loadv chunk m (Val.offset_ptr (rs a) ptr) with - | None => Stuck - | Some v => Next (rs#d <- v) m - end -. - Definition exec_load_offset (chunk: memory_chunk) (rs: regset) (m: mem) (d a: ireg) (ofs: offset) := match (eval_offset ofs) with - | OK ptr => exec_load chunk rs m d a ptr + | OK ptr => match Mem.loadv chunk m (Val.offset_ptr (rs a) ptr) with + | None => Stuck + | Some v => Next (rs#d <- v) m + end | _ => Stuck end. Definition exec_load_reg (chunk: memory_chunk) (rs: regset) (m: mem) (d a ro: ireg) := - match (rs ro) with - | Vptr _ ofs => exec_load chunk rs m d a ofs - | _ => Stuck - end. - -Definition exec_store (chunk: memory_chunk) (rs: regset) (m: mem) - (s: ireg) (a: ireg) (ptr: ptrofs) := - match Mem.storev chunk m (Val.offset_ptr (rs a) ptr) (rs s) with + match Mem.loadv chunk m (Val.addl (rs a) (rs ro)) with | None => Stuck - | Some m' => Next rs m' - end -. + | Some v => Next (rs#d <- v) m + end. Definition exec_store_offset (chunk: memory_chunk) (rs: regset) (m: mem) (s a: ireg) (ofs: offset) := match (eval_offset ofs) with - | OK ptr => exec_store chunk rs m s a ptr + | OK ptr => match Mem.storev chunk m (Val.offset_ptr (rs a) ptr) (rs s) with + | None => Stuck + | Some m' => Next rs m' + end | _ => Stuck end. Definition exec_store_reg (chunk: memory_chunk) (rs: regset) (m: mem) (s a ro: ireg) := - match (rs ro) with - | Vptr _ ofs => exec_store chunk rs m s a ofs - | _ => Stuck + match Mem.storev chunk m (Val.addl (rs a) (rs ro)) (rs s) with + | None => Stuck + | Some m' => Next rs m' end. Definition load_chunk n := |