aboutsummaryrefslogtreecommitdiffstats
path: root/arm/PrintAsm.ml
diff options
context:
space:
mode:
Diffstat (limited to 'arm/PrintAsm.ml')
-rw-r--r--arm/PrintAsm.ml10
1 files changed, 5 insertions, 5 deletions
diff --git a/arm/PrintAsm.ml b/arm/PrintAsm.ml
index 634faae1..48943e98 100644
--- a/arm/PrintAsm.ml
+++ b/arm/PrintAsm.ml
@@ -562,16 +562,16 @@ let print_instruction oc = function
| Pfsubd(r1, r2, r3) ->
fprintf oc " fsubd %a, %a, %a\n" freg r1 freg r2 freg r3; 1
| Pflid(r1, f) ->
-(*
- if Int64.bits_of_float f = 0L (* +0.0 *) then begin
- fprintf oc " mvfd %a, #0.0\n" freg r1; 1
- end else begin
-*)
+ (* We could make good use of the fconstd instruction, but it's available
+ in VFD v3 and up, not in v1 nor v2 *)
let lbl = label_float f in
fprintf oc " fldd %a, .L%d @ %.12g\n" freg r1 lbl f; 1
| Pfcmpd(r1, r2) ->
fprintf oc " fcmpd %a, %a\n" freg r1 freg r2;
fprintf oc " fmstat\n"; 2
+ | Pfcmpzd(r1) ->
+ fprintf oc " fcmpzd %a\n" freg r1;
+ fprintf oc " fmstat\n"; 2
| Pfsitod(r1, r2) ->
fprintf oc " fmsr %a, %a\n" freg_single r1 ireg r2;
fprintf oc " fsitod %a, %a\n" freg r1 freg_single r1; 2