summaryrefslogtreecommitdiff
path: root/ia32/Asmgen.v
diff options
context:
space:
mode:
Diffstat (limited to 'ia32/Asmgen.v')
-rw-r--r--ia32/Asmgen.v10
1 files changed, 10 insertions, 0 deletions
diff --git a/ia32/Asmgen.v b/ia32/Asmgen.v
index 0e14dee..c87167b 100644
--- a/ia32/Asmgen.v
+++ b/ia32/Asmgen.v
@@ -441,6 +441,14 @@ Definition transl_store (chunk: memory_chunk)
do r <- freg_of src; OK(Pmovsd_mf am r :: k)
end.
+(** Translation of arguments to annotations *)
+
+Definition transl_annot_param (p: Mach.annot_param) : Asm.annot_param :=
+ match p with
+ | Mach.APreg r => APreg (preg_of r)
+ | Mach.APstack chunk ofs => APstack chunk ofs
+ end.
+
(** Translation of a Mach instruction. *)
Definition transl_instr (f: Mach.function) (i: Mach.instruction)
@@ -486,6 +494,8 @@ Definition transl_instr (f: Mach.function) (i: Mach.instruction)
Pret :: k)
| Mbuiltin ef args res =>
OK (Pbuiltin ef (List.map preg_of args) (preg_of res) :: k)
+ | Mannot ef args =>
+ OK (Pannot ef (map transl_annot_param args) :: k)
end.
(** Translation of a code sequence *)