[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)))
- [Guile-commits] 42/437: add an underscore to macros without a parameter [x86], (continued)
- [Guile-commits] 42/437: add an underscore to macros without a parameter [x86], Andy Wingo, 2018/07/02
- [Guile-commits] 36/437: update manual for jit_allocai, Andy Wingo, 2018/07/02
- [Guile-commits] 46/437: merge from ludovic, Andy Wingo, 2018/07/02
- [Guile-commits] 14/437: update FSF address, Andy Wingo, 2018/07/02
- [Guile-commits] 34/437: finish jit_allocai implementation, Andy Wingo, 2018/07/02
- [Guile-commits] 43/437: give credit to whom credit is due, Andy Wingo, 2018/07/02
- [Guile-commits] 41/437: x86-64 now passes test suite, Andy Wingo, 2018/07/02
- [Guile-commits] 47/437: refine ludovic's doc patch, Andy Wingo, 2018/07/02
- [Guile-commits] 38/437: add JIT_NEED_PUSH_POP and merge correct implementation of push/pop for SPARC, Andy Wingo, 2018/07/02
- [Guile-commits] 50/437: fix imprecisions in the ChangeLog, Andy Wingo, 2018/07/02
- [Guile-commits] 48/437: use CVTT instruction, fix lightning/Makefile.am,
Andy Wingo <=
- [Guile-commits] 53/437: fix -I flags for opcode subdirectory, Andy Wingo, 2018/07/02
- [Guile-commits] 55/437: add Matthew Flatt to THANKS file, Andy Wingo, 2018/07/02
- [Guile-commits] 39/437: merge 64-bit cleanliness changes from mzscheme, Andy Wingo, 2018/07/02
- [Guile-commits] 49/437: add clean-local target to lightning/Makefile.am, Andy Wingo, 2018/07/02
- [Guile-commits] 56/437: fix i386 floating-point sub(a,0,a), Andy Wingo, 2018/07/02
- [Guile-commits] 54/437: add 3to2 test and fix bug, Andy Wingo, 2018/07/02
- [Guile-commits] 52/437: improve set* encoding for i386, add testcase, Andy Wingo, 2018/07/02
- [Guile-commits] 57/437: don't truncate function pointers on amd64, Andy Wingo, 2018/07/02
- [Guile-commits] 68/437: cast memory address to long for JCCim, Andy Wingo, 2018/07/02
- [Guile-commits] 59/437: add --with-lightning-prefix option to lightning.m4, Andy Wingo, 2018/07/02