aboutsummaryrefslogtreecommitdiffstats
path: root/arm/AsmToJSON.ml
diff options
context:
space:
mode:
authorMichael Schmidt <github@mschmidt.me>2017-12-13 17:40:35 +0100
committerBernhard Schommer <bschommer@users.noreply.github.com>2017-12-13 17:40:35 +0100
commitd2ae46db53df8b5cbdff682451e58e4c3e64b4db (patch)
tree2a407ab3032edbb14b0d8b6151dde617aa1bec10 /arm/AsmToJSON.ml
parent6753e8f33cd4b26dbb256ae4886f11d60eb0e370 (diff)
downloadcompcert-kvx-d2ae46db53df8b5cbdff682451e58e4c3e64b4db.tar.gz
compcert-kvx-d2ae46db53df8b5cbdff682451e58e4c3e64b4db.zip
Export configured architecture to JSON (#38)
The architecture which was configured is now exported in a new top-level json field.
Diffstat (limited to 'arm/AsmToJSON.ml')
-rw-r--r--arm/AsmToJSON.ml6
1 files changed, 3 insertions, 3 deletions
diff --git a/arm/AsmToJSON.ml b/arm/AsmToJSON.ml
index 45433064..2627f29b 100644
--- a/arm/AsmToJSON.ml
+++ b/arm/AsmToJSON.ml
@@ -68,7 +68,7 @@ let pp_single_param_reg pp reg =
let pp_shiftreg pp (r, op, n) =
pp_jobject_start pp;
- pp_jmember ~first:true pp "Register" pp_ireg r;
+ pp_jmember ~first:true pp "Register" pp_jstring (TargetPrinter.int_reg_name r);
pp_jmember pp "Op" pp_jstring op;
pp_jmember pp "Amount" pp_z n;
pp_jobject_end pp
@@ -260,7 +260,7 @@ let pp_instructions pp ic =
| Prsc(r1, r2, so) -> instruction pp "Prsc" [Ireg r1; Ireg r2; Shift so]
| Psbc(r1, r2, so) -> instruction pp "Psbc" [Ireg r1; Ireg r2; Shift so]
| Psbfx(r1, r2, lsb, sz) -> instruction pp "Psbfx" [Ireg r1; Ireg r2; Long lsb; Long sz]
- | Psdiv -> instruction pp "Psdiv" [Ireg IR0; Ireg IR1]
+ | Psdiv -> instruction pp "Psdiv" [Ireg IR0; Ireg IR0; Ireg IR1]
| Psmull(r1, r2, r3, r4) -> instruction pp "Psmull" [Ireg r1; Ireg r2; Ireg r3; Ireg r4]
| Pstr(r1, r2, so) | Pstr_a(r1, r2, so) -> instruction pp "Pstr" [Ireg r1; Ireg r2; Shift so]
| Pstr_p(r1, r2, so) -> instruction pp "Pstr_p" [Ireg r1; Ireg r2; Shift so]
@@ -270,7 +270,7 @@ let pp_instructions pp ic =
| Pstrh_p(r1, r2, so) -> instruction pp "Pstrh_p" [Ireg r1; Ireg r2; Shift so]
| Psub(r1, r2, so) -> instruction pp "Psub" [Ireg r1; Ireg r2; Shift so]
| Psubs(r1, r2, so) -> instruction pp "Psubs" [Ireg r1; Ireg r2; Shift so]
- | Pudiv -> instruction pp "Pudiv" [Ireg IR0; Ireg IR1]
+ | Pudiv -> instruction pp "Pudiv" [Ireg IR0; Ireg IR0; Ireg IR1]
| Pumull(r1, r2, r3, r4) -> instruction pp "Pumull" [Ireg r1; Ireg r2; Ireg r3; Ireg r4]
(* Fixup instructions for calling conventions *)
| Pfcpy_fs(r1, r2) -> instruction pp "Pfcpy_fs" [SFreg r1; SPreg r2]