guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] 48/437: use CVTT instruction, fix lightning/Makefile.am


From: Andy Wingo
Subject: [Guile-commits] 48/437: use CVTT instruction, fix lightning/Makefile.am
Date: Mon, 2 Jul 2018 05:13:42 -0400 (EDT)

wingo pushed a commit to branch lightning
in repository guile.

commit 19f163bcaf480302ee13802b25ed982ec11f2d0d
Author: Paolo Bonzini <address@hidden>
Date:   Sat Dec 2 18:23:40 2006 +0000

    use CVTT instruction, fix lightning/Makefile.am
    
    2006-12-02  Paolo Bonzini  <address@hidden>
    
        * lightning/i386/asm-i386.h: Add CVTTS?2SIL.
        * lightning/i386/asm-64.h: Add CVTTS?2SIQ.
        * lightning/i386/fp-64.h: Use it.
    
        * lightning/Makefile.am: Place files in nodist_lightning_HEADERS.
    
    git-archimport-id: address@hidden/lightning--stable--1.2--patch-52
---
 ChangeLog                 |  8 ++++++++
 lightning/Makefile.am     |  6 +++---
 lightning/i386/asm-64.h   |  5 +++++
 lightning/i386/asm-i386.h |  6 ++++++
 lightning/i386/fp-64.h    | 40 ++++++++++++++++++++++++----------------
 5 files changed, 46 insertions(+), 19 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 79dbe91..36a6b5a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-12-02  Paolo Bonzini  <address@hidden>
+
+       * lightning/i386/asm-i386.h: Add CVTTS?2SIL.
+       * lightning/i386/asm-64.h: Add CVTTS?2SIQ.
+       * lightning/i386/fp-64.h: Use it.
+
+       * lightning/Makefile.am: Place files in nodist_lightning_HEADERS.
+
 2006-11-23  Paolo Bonzini  <address@hidden>
 
        * lightning/core-common.h: Add casts in "*i_p" variants.
diff --git a/lightning/Makefile.am b/lightning/Makefile.am
index cce56d7..6570993 100644
--- a/lightning/Makefile.am
+++ b/lightning/Makefile.am
@@ -10,14 +10,14 @@ EXTRA_DIST = i386/Makefile.frag \
 
 @lightning_frag@
 
-LIGHTNING_FILES = funcs-common.h core-common.h fp-common.h asm-common.h \
-       asm.h core.h funcs.h fp.h $(LIGHTNING_TARGET_FILES)
+LIGHTNING_COMMON_FILES = funcs-common.h core-common.h fp-common.h asm-common.h
 
 if LIGHTNING_MAIN
 
 lightningdir = $(includedir)/lightning
 dist_pkgdata_DATA = Makefile.am
-dist_lightning_HEADERS = $(LIGHTNING_FILES)
+dist_lightning_HEADERS = $(LIGHTNING_COMMON_FILES)
+nodist_lightning_HEADERS = asm.h core.h funcs.h fp.h $(LIGHTNING_TARGET_FILES)
 
 else
 all-am:
diff --git a/lightning/i386/asm-64.h b/lightning/i386/asm-64.h
index 9f5431c..5532597 100644
--- a/lightning/i386/asm-64.h
+++ b/lightning/i386/asm-64.h
@@ -349,6 +349,11 @@
 #define _SSEQrm(PX,OP,RS,RSA,MD,MB,MI,MS)                              
(_jit_B(PX), __SSEQrm(OP, RS, RSA, MD, MB, MI, MS))
 #define _SSEQ1rm(PX,OP,RS,RSA,MD,MB,MI,MS)                             
(_jit_B(PX), __SSEQ1rm(OP, RS, RSA, MD, MB, MI, MS))
 
+#define CVTTSS2SIQrr(RS, RD)            _SSEQrr(0xf3, X86_SSE_CVTTSI, RS,_rX, 
RD,_r8)
+#define CVTTSS2SIQmr(MD, MB, MI, MS, RD) _SSEQmr(0xf3, X86_SSE_CVTTSI, MD, MB, 
MI, MS, RD,_r8)
+#define CVTTSD2SIQrr(RS, RD)            _SSEQrr(0xf2, X86_SSE_CVTTSI, RS,_rX, 
RD,_r8)
+#define CVTTSD2SIQmr(MD, MB, MI, MS, RD) _SSEQmr(0xf2, X86_SSE_CVTTSI, MD, MB, 
MI, MS, RD,_r8)
+
 #define CVTSS2SIQrr(RS, RD)             _SSEQrr(0xf3, X86_SSE_CVTSI, RS,_rX, 
RD,_r8)
 #define CVTSS2SIQmr(MD, MB, MI, MS, RD)         _SSEQmr(0xf3, X86_SSE_CVTSI, 
MD, MB, MI, MS, RD,_r8)
 #define CVTSD2SIQrr(RS, RD)             _SSEQrr(0xf2, X86_SSE_CVTSI, RS,_rX, 
RD,_r8)
diff --git a/lightning/i386/asm-i386.h b/lightning/i386/asm-i386.h
index 67f44a2..51c45e3 100644
--- a/lightning/i386/asm-i386.h
+++ b/lightning/i386/asm-i386.h
@@ -1311,6 +1311,7 @@ enum {
   X86_SSE_MOVHP  = 0x16,
   X86_SSE_MOVA   = 0x28,
   X86_SSE_CVTIS  = 0x2a,
+  X86_SSE_CVTTSI = 0x2c,
   X86_SSE_CVTSI  = 0x2d,
   X86_SSE_UCOMI  = 0x2e,
   X86_SSE_COMI   = 0x2f,
@@ -1532,6 +1533,11 @@ enum {
 #define CVTSD2SSrr(RS, RD)              _SSELrr(0xf2, X86_SSE_CVTSD, RS,_rX, 
RD,_rX)
 #define CVTSD2SSmr(MD, MB, MI, MS, RD)  _SSELmr(0xf2, X86_SSE_CVTSD, MD, MB, 
MI, MS, RD,_rX)
 
+#define CVTTSS2SILrr(RS, RD)            _SSELrr(0xf3, X86_SSE_CVTTSI, RS,_rX, 
RD,_r4)
+#define CVTTSS2SILmr(MD, MB, MI, MS, RD) _SSELmr(0xf3, X86_SSE_CVTTSI, MD, MB, 
MI, MS, RD,_r4)
+#define CVTTSD2SILrr(RS, RD)            _SSELrr(0xf2, X86_SSE_CVTTSI, RS,_rX, 
RD,_r4)
+#define CVTTSD2SILmr(MD, MB, MI, MS, RD) _SSELmr(0xf2, X86_SSE_CVTTSI, MD, MB, 
MI, MS, RD,_r4)
+
 #define CVTSS2SILrr(RS, RD)             _SSELrr(0xf3, X86_SSE_CVTSI, RS,_rX, 
RD,_r4)
 #define CVTSS2SILmr(MD, MB, MI, MS, RD)         _SSELmr(0xf3, X86_SSE_CVTSI, 
MD, MB, MI, MS, RD,_r4)
 #define CVTSD2SILrr(RS, RD)             _SSELrr(0xf2, X86_SSE_CVTSI, RS,_rX, 
RD,_r4)
diff --git a/lightning/i386/fp-64.h b/lightning/i386/fp-64.h
index 74cdfec..e851f84 100644
--- a/lightning/i386/fp-64.h
+++ b/lightning/i386/fp-64.h
@@ -167,6 +167,10 @@ union jit_double_imm {
 #define jit_roundr_f_i(rd, rs) CVTSS2SILrr((rs), (rd))
 #define jit_roundr_d_l(rd, rs) CVTSD2SIQrr((rs), (rd))
 #define jit_roundr_f_l(rd, rs) CVTSS2SIQrr((rs), (rd))
+#define jit_truncr_d_i(rd, rs) CVTTSD2SILrr((rs), (rd))
+#define jit_truncr_f_i(rd, rs) CVTTSS2SILrr((rs), (rd))
+#define jit_truncr_d_l(rd, rs) CVTTSD2SIQrr((rs), (rd))
+#define jit_truncr_f_l(rd, rs) CVTTSS2SIQrr((rs), (rd))
 
 
 #define jit_ceilr_f_i(rd, rs) do {                     \
@@ -183,26 +187,16 @@ union jit_double_imm {
        ADCLir (0, (rd));                               \
   } while (0)
 
-#define jit_truncr_f_i(rd, rs) do {                    \
-       jit_roundr_f_i ((rd), (rs));                    \
-       jit_extr_i_f (JIT_FPTMP, (rd));                 \
-       TESTLrr ((rd), (rd));                           \
-       JSm (_jit.x.pc + 9);                            \
-       UCOMISSrr (JIT_FPTMP, (rs));                    \
-       SBBLir (0, (rd));                               \
-       JMPSm (_jit.x.pc + 7);                          \
+#define jit_ceilr_f_l(rd, rs) do {                     \
+       jit_roundr_f_l ((rd), (rs));            \
+       jit_extr_l_f (JIT_FPTMP, (rd));                 \
        UCOMISSrr ((rs), JIT_FPTMP);                    \
        ADCLir (0, (rd));                               \
   } while (0)
 
-#define jit_truncr_d_i(rd, rs) do {                    \
-       jit_roundr_d_i ((rd), (rs));            \
-       jit_extr_i_d (JIT_FPTMP, (rd));                 \
-       TESTLrr ((rd), (rd));                           \
-       JSm (_jit.x.pc + 9);                            \
-       UCOMISDrr (JIT_FPTMP, (rs));                    \
-       SBBLir (0, (rd));                               \
-       JMPSm (_jit.x.pc + 7);                          \
+#define jit_ceilr_d_l(rd, rs) do {                     \
+       jit_roundr_d_l ((rd), (rs));            \
+       jit_extr_l_d (JIT_FPTMP, (rd));                 \
        UCOMISDrr ((rs), JIT_FPTMP);                    \
        ADCLir (0, (rd));                               \
   } while (0)
@@ -221,6 +215,20 @@ union jit_double_imm {
        SBBLir (0, (rd));                               \
   } while (0)
 
+#define jit_floorr_f_l(rd, rs) do {                    \
+       jit_roundr_f_l ((rd), (rs));            \
+       jit_extr_l_f (JIT_FPTMP, (rd));                 \
+       UCOMISSrr (JIT_FPTMP, (rs));                    \
+       SBBLir (0, (rd));                               \
+  } while (0)
+
+#define jit_floorr_d_l(rd, rs) do {                    \
+       jit_roundr_d_l ((rd), (rs));            \
+       jit_extr_l_d (JIT_FPTMP, (rd));                 \
+       UCOMISDrr (JIT_FPTMP, (rs));                    \
+       SBBLir (0, (rd));                               \
+  } while (0)
+
 #define jit_bltr_f(d, s1, s2)            (UCOMISSrr ((s1), (s2)), JAm ((d)))
 #define jit_bler_f(d, s1, s2)            (UCOMISSrr ((s1), (s2)), JAEm ((d)))
 #define jit_beqr_f(d, s1, s2)            (UCOMISSrr ((s1), (s2)), _OO 
(0x7a06), JEm ((d)))



reply via email to

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