diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2009-10-30 09:15:06 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2009-10-30 09:15:06 +0000 |
commit | 258a1feeafb9ebcec4d46601fe7016bed04a8ea7 (patch) | |
tree | 7af457899e7da1881028115116cc6584c5f6f9d3 /powerpc/PrintAsm.ml | |
parent | 20b484ea108ae82e604eadf4e6b873b27dc9a453 (diff) | |
download | compcert-258a1feeafb9ebcec4d46601fe7016bed04a8ea7.tar.gz compcert-258a1feeafb9ebcec4d46601fe7016bed04a8ea7.zip |
Storing of single floats: must insert frsp instruction before store. (Temporary fix.)
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1158 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'powerpc/PrintAsm.ml')
-rw-r--r-- | powerpc/PrintAsm.ml | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/powerpc/PrintAsm.ml b/powerpc/PrintAsm.ml index e86b7dc4..335a6cf2 100644 --- a/powerpc/PrintAsm.ml +++ b/powerpc/PrintAsm.ml @@ -434,9 +434,11 @@ let print_instruction oc labels = function | Pstfdx(r1, r2, r3) -> fprintf oc " stfdx %a, %a, %a\n" freg r1 ireg r2 ireg r3 | Pstfs(r1, c, r2) -> - fprintf oc " stfs %a, %a(%a)\n" freg r1 constant c ireg r2 + fprintf oc " frsp %a, %a\n" freg FPR13 freg r1; + fprintf oc " stfs %a, %a(%a)\n" freg FPR13 constant c ireg r2 | Pstfsx(r1, r2, r3) -> - fprintf oc " stfsx %a, %a, %a\n" freg r1 ireg r2 ireg r3 + fprintf oc " frsp %a, %a\n" freg FPR13 freg r1; + fprintf oc " stfsx %a, %a, %a\n" freg FPR13 ireg r2 ireg r3 | Psth(r1, c, r2) -> fprintf oc " sth %a, %a(%a)\n" ireg r1 constant c ireg r2 | Psthx(r1, r2, r3) -> |