aboutsummaryrefslogtreecommitdiffstats
path: root/mppa_k1c/Asmblockgen.v
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-09-05 12:10:11 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-09-05 12:10:11 +0200
commit4284ab56c71cd64ebf6ce22ad13d3cd5533ac7ed (patch)
treed6c12411dea23d0179a5769c97851cf68b13fc2a /mppa_k1c/Asmblockgen.v
parent42a4bac600c0eaa552b66659f2c67d2f8b44cdf6 (diff)
downloadcompcert-kvx-4284ab56c71cd64ebf6ce22ad13d3cd5533ac7ed.tar.gz
compcert-kvx-4284ab56c71cd64ebf6ce22ad13d3cd5533ac7ed.zip
more on notrap
Diffstat (limited to 'mppa_k1c/Asmblockgen.v')
-rw-r--r--mppa_k1c/Asmblockgen.v19
1 files changed, 12 insertions, 7 deletions
diff --git a/mppa_k1c/Asmblockgen.v b/mppa_k1c/Asmblockgen.v
index ade84e7b..cd9b3202 100644
--- a/mppa_k1c/Asmblockgen.v
+++ b/mppa_k1c/Asmblockgen.v
@@ -1008,12 +1008,17 @@ Definition transl_load_rrrXS (chunk: memory_chunk) (scale : Z)
do r <- ireg_of dst;
transl_memory_access2XS chunk (PLoadRRRXS (chunk2load chunk) r) scale args k.
-Definition transl_load (chunk: memory_chunk) (addr: addressing)
+Definition transl_load (trap : trapping_mode)
+ (chunk: memory_chunk) (addr: addressing)
(args: list mreg) (dst: mreg) (k: bcode) : res bcode :=
- match addr with
- | Aindexed2XS scale => transl_load_rrrXS chunk scale args dst k
- | Aindexed2 => transl_load_rrr chunk addr args dst k
- | _ => transl_load_rro chunk addr args dst k
+ match trap with
+ | NOTRAP => Error(msg "Asmblockgen.transl_load NOTRAP TODO")
+ | TRAP =>
+ match addr with
+ | Aindexed2XS scale => transl_load_rrrXS chunk scale args dst k
+ | Aindexed2 => transl_load_rrr chunk addr args dst k
+ | _ => transl_load_rro chunk addr args dst k
+ end
end.
Definition chunk2store (chunk: memory_chunk) :=
@@ -1073,8 +1078,8 @@ Definition transl_instr_basic (f: Machblock.function) (i: Machblock.basic_inst)
else (loadind_ptr SP f.(fn_link_ofs) FP) ::i c)
| MBop op args res =>
transl_op op args res k
- | MBload chunk addr args dst =>
- transl_load chunk addr args dst k
+ | MBload trap chunk addr args dst =>
+ transl_load trap chunk addr args dst k
| MBstore chunk addr args src =>
transl_store chunk addr args src k
end.