guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 11/11: Use new instructions for f64 comparisons


From: Andy Wingo
Subject: [Guile-commits] 11/11: Use new instructions for f64 comparisons
Date: Sun, 29 Oct 2017 05:09:41 -0400 (EDT)

wingo pushed a commit to branch master
in repository guile.

commit 9d1235af960860109a34f8c890b017002c901973
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 27 16:31:32 2017 +0200

    Use new instructions for f64 comparisons
    
    * module/language/cps/compile-bytecode.scm (compile-function): Use new
      instructions for f64 comparisons.
---
 module/language/cps/compile-bytecode.scm | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/module/language/cps/compile-bytecode.scm 
b/module/language/cps/compile-bytecode.scm
index 5e477b6..9794c09 100644
--- a/module/language/cps/compile-bytecode.scm
+++ b/module/language/cps/compile-bytecode.scm
@@ -456,17 +456,17 @@
         (($ $primcall 'u64-= (a b)) (binary-test emit-u64=? a b))
         (($ $primcall 'u64->= (a b)) (binary* emit-u64<? emit-jnl emit-jl a b))
         (($ $primcall 'u64-> (a b)) (binary* emit-u64<? emit-jl emit-jnl b a))
+        (($ $primcall 'f64-< (a b)) (binary* emit-f64<? emit-jl emit-jnl a b))
+        (($ $primcall 'f64-<= (a b)) (binary* emit-f64<? emit-jge emit-jnge b 
a))
+        (($ $primcall 'f64-= (a b)) (binary-test emit-f64=? a b))
+        (($ $primcall 'f64->= (a b)) (binary* emit-f64<? emit-jge emit-jnge a 
b))
+        (($ $primcall 'f64-> (a b)) (binary* emit-f64<? emit-jl emit-jnl b a))
         (($ $primcall 'u64-<-scm (a b)) (binary emit-br-if-u64-<-scm a b))
         (($ $primcall 'u64-<=-scm (a b)) (binary emit-br-if-u64-<=-scm a b))
         (($ $primcall 'u64-=-scm (a b)) (binary emit-br-if-u64-=-scm a b))
         (($ $primcall 'u64->=-scm (a b)) (binary emit-br-if-u64->=-scm a b))
         (($ $primcall 'u64->-scm (a b)) (binary emit-br-if-u64->-scm a b))
-        (($ $primcall 'logtest (a b)) (binary emit-br-if-logtest a b))
-        (($ $primcall 'f64-< (a b)) (binary emit-br-if-f64-< a b))
-        (($ $primcall 'f64-<= (a b)) (binary emit-br-if-f64-<= a b))
-        (($ $primcall 'f64-= (a b)) (binary emit-br-if-f64-= a b))
-        (($ $primcall 'f64->= (a b)) (binary emit-br-if-f64->= a b))
-        (($ $primcall 'f64-> (a b)) (binary emit-br-if-f64-> a b))))
+        (($ $primcall 'logtest (a b)) (binary emit-br-if-logtest a b))))
 
     (define (compile-trunc label k exp nreq rest-var)
       (define (do-call proc args emit-call)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]