diff options
author | Cyril SIX <cyril.six@kalray.eu> | 2018-04-20 10:31:56 +0200 |
---|---|---|
committer | Cyril SIX <cyril.six@kalray.eu> | 2018-04-20 10:31:56 +0200 |
commit | aa25ec270b651186154523ec71a3888b50994d70 (patch) | |
tree | a4572adf5cde4f97642885cb1f90f73a20d169cd /mppa_k1c/TargetPrinter.ml | |
parent | 41a048fa4bb9ddefd4e4acff2207251bb3ddbf06 (diff) | |
download | compcert-kvx-aa25ec270b651186154523ec71a3888b50994d70.tar.gz compcert-kvx-aa25ec270b651186154523ec71a3888b50994d70.zip |
MPPA - Oshrximm + Mgetparam + FP is GPR10 + bug
Added Oshrximm and Mgetparam -> mmult.c divide & conqueer generates
FP is now GPR10 instead of being a mix of GPR30 and GPR32
Corrected a bug where Pgoto and Pj_l were given the same interpretation,
where in fact there's a fundamental difference : Pgoto is supposed to
have a function name (symbol), while Pj_l is supposed to have a label
name (print_label). This led to having undefinite labels in the code.
Diffstat (limited to 'mppa_k1c/TargetPrinter.ml')
-rw-r--r-- | mppa_k1c/TargetPrinter.ml | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mppa_k1c/TargetPrinter.ml b/mppa_k1c/TargetPrinter.ml index 4c3bf3c6..b463a9c5 100644 --- a/mppa_k1c/TargetPrinter.ml +++ b/mppa_k1c/TargetPrinter.ml @@ -191,7 +191,9 @@ module Target : TARGET = let print_instruction oc = function | Pcall(s) -> fprintf oc " call %a\n;;\n" symbol s - | Pgoto(s) | Pj_l(s) -> + | Pgoto(s) -> + fprintf oc " goto %a\n;;\n" symbol s + | Pj_l(s) -> fprintf oc " goto %a\n;;\n" print_label s | Pret -> fprintf oc " ret\n;;\n" |