aboutsummaryrefslogtreecommitdiffstats
path: root/powerpc/PrintAsm.ml
diff options
context:
space:
mode:
authorxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2009-10-30 09:15:06 +0000
committerxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2009-10-30 09:15:06 +0000
commit258a1feeafb9ebcec4d46601fe7016bed04a8ea7 (patch)
tree7af457899e7da1881028115116cc6584c5f6f9d3 /powerpc/PrintAsm.ml
parent20b484ea108ae82e604eadf4e6b873b27dc9a453 (diff)
downloadcompcert-kvx-258a1feeafb9ebcec4d46601fe7016bed04a8ea7.tar.gz
compcert-kvx-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.ml6
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) ->