aboutsummaryrefslogtreecommitdiffstats
path: root/ia32/TargetPrinter.ml
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2015-06-18 18:35:59 +0200
committerBernhard Schommer <bernhardschommer@gmail.com>2015-06-18 18:35:59 +0200
commit0dda7b5a8c634b74af5e530e2cd31733ed9ba751 (patch)
tree02df334ae04009e885c0810ea45315ebf4418ffd /ia32/TargetPrinter.ml
parent929c0ea6f02713f59c0862fa0c3a53e0cb89c334 (diff)
downloadcompcert-kvx-0dda7b5a8c634b74af5e530e2cd31733ed9ba751.tar.gz
compcert-kvx-0dda7b5a8c634b74af5e530e2cd31733ed9ba751.zip
Started moving functions from TargetPrinter.ml to Asmexpand.ml for ia32.
Diffstat (limited to 'ia32/TargetPrinter.ml')
-rw-r--r--ia32/TargetPrinter.ml46
1 files changed, 46 insertions, 0 deletions
diff --git a/ia32/TargetPrinter.ml b/ia32/TargetPrinter.ml
index a53a8fbd..a7aa9e90 100644
--- a/ia32/TargetPrinter.ml
+++ b/ia32/TargetPrinter.ml
@@ -841,6 +841,52 @@ module Target(System: SYSTEM):TARGET =
fprintf oc " ret\n"
end
(** Pseudo-instructions *)
+ | Padcl_ir (n,res) ->
+ fprintf oc " adcl $%ld, %a\n" (camlint_of_coqint n) ireg res;
+ | Padcl_rr (a1,res) ->
+ fprintf oc " adcl %a, %a\n" ireg a1 ireg res;
+ | Paddl (a1,res) ->
+ fprintf oc " addl %a, %a\n" ireg a1 ireg res;
+ | Pbsfl (a1,res) ->
+ fprintf oc " bsfl %a, %a\n" ireg a1 ireg res
+ | Pbslr (a1,res) ->
+ fprintf oc " bsrl %a, %a\n" ireg a1 ireg res;
+ | Pbswap res ->
+ fprintf oc " bswap %a\n" ireg res
+ | Pfmadd132 (a1,a2,res) ->
+ fprintf oc " vfmadd132sd %a, %a, %a\n" freg a1 freg a2 freg res
+ | Pfmadd213 (a1,a2,res) ->
+ fprintf oc " vfmadd213sd %a, %a, %a\n" freg a1 freg a2 freg res
+ | Pfmadd231 (a1,a2,res) ->
+ fprintf oc " vfmadd231sd %a, %a, %a\n" freg a1 freg a2 freg res
+ | Pfmsub132 (a1,a2,res) ->
+ fprintf oc " vfmsub132sd %a, %a, %a\n" freg a1 freg a2 freg res
+ | Pfmsub213 (a1,a2,res) ->
+ fprintf oc " vfmsub213sd %a, %a, %a\n" freg a1 freg a2 freg res
+ | Pfmsub231 (a1,a2,res) ->
+ fprintf oc " vfmsub231sd %a, %a, %a\n" freg a1 freg a2 freg res
+ | Pfnmadd132 (a1,a2,res) ->
+ fprintf oc " vfnmadd132sd %a, %a, %a\n" freg a1 freg a2 freg res
+ | Pfnmadd213 (a1,a2,res) ->
+ fprintf oc " vfnmadd213sd %a, %a, %a\n" freg a1 freg a2 freg res
+ | Pfnmadd231 (a1,a2,res) ->
+ fprintf oc " vfnmadd231sd %a, %a, %a\n" freg a1 freg a2 freg res
+ | Pfnmsub132 (a1,a2,res) ->
+ fprintf oc " vfnmsub132sd %a, %a, %a\n" freg a1 freg a2 freg res
+ | Pfnmsub213 (a1,a2,res) ->
+ fprintf oc " vfnmsub213sd %a, %a, %a\n" freg a1 freg a2 freg res
+ | Pfnmsub231 (a1,a2,res) ->
+ fprintf oc " vfnmsub231sd %a, %a, %a\n" freg a1 freg a2 freg res
+ | Pmaxsd (a1,res) ->
+ fprintf oc " maxsd %a, %a\n" freg a1 freg res
+ | Pminsd (a1,res) ->
+ fprintf oc " minsd %a, %a\n" freg a1 freg res
+ | Prolw_8 res ->
+ fprintf oc " rolw $8, %a\n" ireg16 res
+ | Psbbl (a1,res) ->
+ fprintf oc " sbbl %a, %a\n" ireg a1 ireg res
+ | Psqrtsd (a1,res) ->
+ fprintf oc " sqrtsd %a, %a\n" freg a1 freg res
| Plabel(l) ->
fprintf oc "%a:\n" label (transl_label l)
| Pallocframe(sz, ofs_ra, ofs_link) ->