From e521f0bc060ead051102e4d68b98bb40ecc802b3 Mon Sep 17 00:00:00 2001 From: xleroy Date: Fri, 18 May 2012 08:21:12 +0000 Subject: Use freg <-> 2 ireg move instructions to fix up calling conventions git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1895 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- arm/PrintAsm.ml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'arm') diff --git a/arm/PrintAsm.ml b/arm/PrintAsm.ml index 48943e9..1f053df 100644 --- a/arm/PrintAsm.ml +++ b/arm/PrintAsm.ml @@ -432,11 +432,9 @@ let fixup_conventions oc dir tyl = let fixup f i1 i2 = match dir with | Incoming -> (* f <- (i1, i2) *) - fprintf oc " fmdlr %a, %a\n" freg f ireg i1; - fprintf oc " fmdhr %a, %a\n" freg f ireg i2 + fprintf oc " fmdrr %a, %a, %a\n" freg f ireg i1 ireg i2 | Outgoing -> (* (i1, i2) <- f *) - fprintf oc " fmrdl %a, %a\n" ireg i1 freg f; - fprintf oc " fmrdh %a, %a\n" ireg i2 freg f in + fprintf oc " fmrrd %a, %a, %a\n" ireg i1 ireg i2 freg f in match tyl with | Tfloat :: Tfloat :: _ -> fixup FR0 IR0 IR1; fixup FR1 IR2 IR3; 4 -- cgit v1.2.3