aboutsummaryrefslogtreecommitdiffstats
path: root/mppa_k1c/TargetPrinter.ml
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2018-04-20 14:38:06 +0200
committerCyril SIX <cyril.six@kalray.eu>2018-04-20 14:38:06 +0200
commitf73f3a4e5dda58408c82fe2657ddb251532ea894 (patch)
treec2357f7c06864719345ed6e3e9999ddf76cf6de4 /mppa_k1c/TargetPrinter.ml
parent7b3d2c0ab46292a47256ff484b812d3d3b2846c2 (diff)
downloadcompcert-kvx-f73f3a4e5dda58408c82fe2657ddb251532ea894.tar.gz
compcert-kvx-f73f3a4e5dda58408c82fe2657ddb251532ea894.zip
MPPA - added remaining ops ; mult, div and floating point ops missing
Diffstat (limited to 'mppa_k1c/TargetPrinter.ml')
-rw-r--r--mppa_k1c/TargetPrinter.ml15
1 files changed, 15 insertions, 0 deletions
diff --git a/mppa_k1c/TargetPrinter.ml b/mppa_k1c/TargetPrinter.ml
index b463a9c5..01a4e269 100644
--- a/mppa_k1c/TargetPrinter.ml
+++ b/mppa_k1c/TargetPrinter.ml
@@ -214,6 +214,8 @@ module Target : TARGET =
fprintf oc " addd %a = %a, %a\n;;\n" ireg rd ireg rs1 ireg rs2
| Psubw(rd, rs1, rs2) ->
+ fprintf oc " sbfw %a = %a, %a\n;;\n" ireg rd ireg rs1 ireg rs2
+ | Psubl(rd, rs1, rs2) ->
fprintf oc " sbfwd %a = %a, %a\n;;\n" ireg rd ireg rs1 ireg rs2
| Pmulw(rd, rs1, rs2) ->
@@ -250,6 +252,19 @@ module Target : TARGET =
fprintf oc " ord %a = %a, %a\n;;\n" ireg rd ireg rs coqint64 imm
| Porl(rd, rs1, rs2) -> assert Archi.ptr64;
fprintf oc " ord %a = %a, %a\n;;\n" ireg rd ireg rs1 ireg rs2
+ | Poriw (rd, rs, imm) ->
+ fprintf oc " orw %a = %a, %a\n;;\n" ireg rd ireg rs coqint64 imm
+ | Porw(rd, rs1, rs2) ->
+ fprintf oc " orw %a = %a, %a\n;;\n" ireg rd ireg rs1 ireg rs2
+
+ | Pxoriw (rd, rs, imm) ->
+ fprintf oc " xorw %a = %a, %a\n;;\n" ireg rd ireg rs coqint64 imm
+ | Pxorw(rd, rs1, rs2) ->
+ fprintf oc " xorw %a = %a, %a\n;;\n" ireg rd ireg rs1 ireg rs2
+ | Pxoril (rd, rs, imm) -> assert Archi.ptr64;
+ fprintf oc " xord %a = %a, %a\n;;\n" ireg rd ireg rs coqint64 imm
+ | Pxorl(rd, rs1, rs2) -> assert Archi.ptr64;
+ fprintf oc " xord %a = %a, %a\n;;\n" ireg rd ireg rs1 ireg rs2
| Pandiw (rd, rs, imm) ->
fprintf oc " andd %a = %a, %a\n;;\n" ireg rd ireg rs coqint64 imm