diff options
Diffstat (limited to 'ia32/Asmgen.v')
-rw-r--r-- | ia32/Asmgen.v | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ia32/Asmgen.v b/ia32/Asmgen.v index 0e14dee8..c87167bf 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 *) |