aboutsummaryrefslogtreecommitdiffstats
path: root/mppa_k1c/TargetPrinter.ml
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2019-02-15 18:05:54 +0100
committerCyril SIX <cyril.six@kalray.eu>2019-02-15 18:05:54 +0100
commit3baf98aa8fe0fff0414772176ce0a0095e8b0b32 (patch)
tree519d40abd352b7b79cb785f149eea096bbd1bb0d /mppa_k1c/TargetPrinter.ml
parent72504f5f53110f997c998352e916ad6c4434c76d (diff)
downloadcompcert-kvx-3baf98aa8fe0fff0414772176ce0a0095e8b0b32.tar.gz
compcert-kvx-3baf98aa8fe0fff0414772176ce0a0095e8b0b32.zip
Rajout d'opérateurs flottants, travail sur les tests --> à continuer
Diffstat (limited to 'mppa_k1c/TargetPrinter.ml')
-rw-r--r--mppa_k1c/TargetPrinter.ml29
1 files changed, 27 insertions, 2 deletions
diff --git a/mppa_k1c/TargetPrinter.ml b/mppa_k1c/TargetPrinter.ml
index 703863b7..da3cf75f 100644
--- a/mppa_k1c/TargetPrinter.ml
+++ b/mppa_k1c/TargetPrinter.ml
@@ -288,14 +288,26 @@ module Target (*: TARGET*) =
fprintf oc " negd %a = %a\n" ireg rd ireg rs
| Pnegw(rd, rs) ->
fprintf oc " negw %a = %a\n" ireg rd ireg rs
- | Pfnegd(rd, rs) ->
- fprintf oc " fnegd %a = %a\n" ireg rs ireg rd
| Psxwd(rd, rs) ->
fprintf oc " sxwd %a = %a\n" ireg rd ireg rs
| Pzxwd(rd, rs) ->
fprintf oc " zxwd %a = %a\n" ireg rd ireg rs
+ | Pfabsd(rd, rs) ->
+ fprintf oc " fabsd %a = %a\n" ireg rd ireg rs
+ | Pfabsw(rd, rs) ->
+ fprintf oc " fabsw %a = %a\n" ireg rd ireg rs
+ | Pfnegd(rd, rs) ->
+ fprintf oc " fnegd %a = %a\n" ireg rs ireg rd
+ | Pfnegw(rd, rs) ->
+ fprintf oc " fnegw %a = %a\n" ireg rs ireg rd
+ | Pfnarrowdw(rd, rs) ->
+ fprintf oc " fnarrowdw %a = %a\n" ireg rs ireg rd
+ | Pfwidenlwd(rd, rs) ->
+ fprintf oc " fwidenlwd %a = %a\n" ireg rs ireg rd
| Pfloatwrnsz(rd, rs) ->
fprintf oc " floatw.rn.s %a = %a, 0\n" ireg rd ireg rs
+ | Pfloatudrnsz(rd, rs) ->
+ fprintf oc " floatud.rn.s %a = %a, 0\n" ireg rd ireg rs
| Pfloatdrnsz(rd, rs) ->
fprintf oc " floatd.rn.s %a = %a, 0\n" ireg rd ireg rs
| Pfixedwrzz(rd, rs) ->
@@ -367,6 +379,19 @@ module Target (*: TARGET*) =
| Psral (rd, rs1, rs2) ->
fprintf oc " srad %a = %a, %a\n" ireg rd ireg rs1 ireg rs2
+ | Pfaddd (rd, rs1, rs2) ->
+ fprintf oc " faddd %a = %a, %a\n" ireg rd ireg rs1 ireg rs2
+ | Pfaddw (rd, rs1, rs2) ->
+ fprintf oc " faddw %a = %a, %a\n" ireg rd ireg rs1 ireg rs2
+ | Pfsbfd (rd, rs1, rs2) ->
+ fprintf oc " fsbfd %a = %a, %a\n" ireg rd ireg rs1 ireg rs2
+ | Pfsbfw (rd, rs1, rs2) ->
+ fprintf oc " fsbfw %a = %a, %a\n" ireg rd ireg rs1 ireg rs2
+ | Pfmuld (rd, rs1, rs2) ->
+ fprintf oc " fmuld %a = %a, %a\n" ireg rd ireg rs1 ireg rs2
+ | Pfmulw (rd, rs1, rs2) ->
+ fprintf oc " fmulw %a = %a, %a\n" ireg rd ireg rs1 ireg rs2
+
(* Arith RRI32 instructions *)
| Pcompiw (it, rd, rs, imm) ->
fprintf oc " compw.%a %a = %a, %a\n" icond it ireg rd ireg rs coqint64 imm