[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 94/437: fix problems with i386 32-bit floating point bra
From: |
Andy Wingo |
Subject: |
[Guile-commits] 94/437: fix problems with i386 32-bit floating point branches |
Date: |
Mon, 2 Jul 2018 05:13:52 -0400 (EDT) |
wingo pushed a commit to branch lightning
in repository guile.
commit a76f19c5efb400feef12efa0059abf136792556e
Author: Paolo Bonzini <address@hidden>
Date: Tue Feb 17 09:57:23 2009 +0100
fix problems with i386 32-bit floating point branches
2009-02-17 Paolo Bonzini <address@hidden>
* lightning/fp-common.h: Define double branches if missing.
* lightning/i386/asm.h: Define JC and JNC mnemonics.
* lightning/i386/fp-32.h: Fix jit_fp_btest. All reported
by Mike Spivey.
---
ChangeLog | 7 +++++++
THANKS | 1 +
lightning/fp-common.h | 17 +++++++++++++++++
lightning/i386/asm.h | 4 ++++
lightning/i386/fp-32.h | 2 +-
5 files changed, 30 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index bda065e..a842218 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2009-02-17 Paolo Bonzini <address@hidden>
+
+ * lightning/fp-common.h: Define double branches if missing.
+ * lightning/i386/asm.h: Define JC and JNC mnemonics.
+ * lightning/i386/fp-32.h: Fix jit_fp_btest. All reported
+ by Mike Spivey.
+
2008-10-09 Paolo Bonzini <address@hidden>
* lightning/ppc/funcs.h (jit_flush_code): Subtract 1 from end.
diff --git a/THANKS b/THANKS
index 0276167..fe8ad1e 100644
--- a/THANKS
+++ b/THANKS
@@ -5,6 +5,7 @@ Eli Barzilay <address@hidden>
Ludovic Courtes <address@hidden>
Matthew Flatt <address@hidden>
Laurent Michel <address@hidden>
+Mike Spivey <address@hidden>
Basile Starynkevitch <address@hidden>
Sam Steingold <address@hidden>
Jens Troeger <address@hidden>
diff --git a/lightning/fp-common.h b/lightning/fp-common.h
index d65d160..0847ceb 100644
--- a/lightning/fp-common.h
+++ b/lightning/fp-common.h
@@ -85,6 +85,23 @@
#define jit_retval_f(rs) jit_retval_d(rs)
#endif
+#ifndef jit_beqr_f
+#define jit_beqr_f(lab, a, b) jit_beqr_d(lab, a, b)
+#define jit_bner_f(lab, a, b) jit_bner_d(lab, a, b)
+#define jit_bgtr_f(lab, a, b) jit_bgtr_d(lab, a, b)
+#define jit_bger_f(lab, a, b) jit_bger_d(lab, a, b)
+#define jit_bltr_f(lab, a, b) jit_bltr_d(lab, a, b)
+#define jit_bler_f(lab, a, b) jit_bler_d(lab, a, b)
+#define jit_buneqr_f(lab, a, b) jit_buneqr_d(lab, a, b)
+#define jit_bltgtr_f(lab, a, b) jit_bltgtr_d(lab, a, b)
+#define jit_bungtr_f(lab, a, b) jit_bungtr_d(lab, a, b)
+#define jit_bunger_f(lab, a, b) jit_bunger_d(lab, a, b)
+#define jit_bunltr_f(lab, a, b) jit_bunltr_d(lab, a, b)
+#define jit_bunler_f(lab, a, b) jit_bunler_d(lab, a, b)
+#define jit_bordr_f(lab, a, b) jit_bordr_d(lab, a, b)
+#define jit_bunordr_f(lab, a, b) jit_bunordr_d(lab, a, b)
+#endif
+
#ifndef jit_retval_f
#define jit_retval_f(op1) jit_movr_f((op1), JIT_FPRET)
#endif
diff --git a/lightning/i386/asm.h b/lightning/i386/asm.h
index ad404fc..2dec4b9 100644
--- a/lightning/i386/asm.h
+++ b/lightning/i386/asm.h
@@ -915,8 +915,10 @@ enum {
#define JOSm(D) JCCSim(0x0, D)
#define JNOSm(D) JCCSim(0x1, D)
#define JBSm(D) JCCSim(0x2, D)
+#define JCSm(D) JCCSim(0x2, D)
#define JNAESm(D) JCCSim(0x2, D)
#define JNBSm(D) JCCSim(0x3, D)
+#define JNCSm(D) JCCSim(0x3, D)
#define JAESm(D) JCCSim(0x3, D)
#define JESm(D) JCCSim(0x4, D)
#define JZSm(D) JCCSim(0x4, D)
@@ -946,8 +948,10 @@ enum {
#define JOm(D) JCCim(0x0, D)
#define JNOm(D) JCCim(0x1, D)
#define JBm(D) JCCim(0x2, D)
+#define JCm(D) JCCim(0x2, D)
#define JNAEm(D) JCCim(0x2, D)
#define JNBm(D) JCCim(0x3, D)
+#define JNCm(D) JCCim(0x3, D)
#define JAEm(D) JCCim(0x3, D)
#define JEm(D) JCCim(0x4, D)
#define JZm(D) JCCim(0x4, D)
diff --git a/lightning/i386/fp-32.h b/lightning/i386/fp-32.h
index ff59631..71e5677 100644
--- a/lightning/i386/fp-32.h
+++ b/lightning/i386/fp-32.h
@@ -261,7 +261,7 @@ union jit_double_imm {
((_and) ? ANDLir ((_and), _EAX) : 0), \
((cmp) ? CMPLir ((cmp), _AL) : 0), \
POPLr(_EAX), \
- res ((d), 0, 0, 0), \
+ res ((d)), \
_jit.x.ppc)
#define jit_nothing_needed(x)
- [Guile-commits] 58/437: use CALLsr, not CALLLsr, (continued)
- [Guile-commits] 58/437: use CALLsr, not CALLLsr, Andy Wingo, 2018/07/02
- [Guile-commits] 60/437: don't use _VOID symbol, reserved by newlib (cygwin), Andy Wingo, 2018/07/02
- [Guile-commits] 96/437: fix blunder in operand order (i386), Andy Wingo, 2018/07/02
- [Guile-commits] 97/437: fix x86 shifts, Andy Wingo, 2018/07/02
- [Guile-commits] 104/437: fix jit_extr_f_d and jit_extr_d_f for x86-64, Andy Wingo, 2018/07/02
- [Guile-commits] 107/437: fix -D_ASM_SAFETY compilation of beqr_d and bne_d, Andy Wingo, 2018/07/02
- [Guile-commits] 101/437: fix i386 jit_replace and x86_64 jit_movi_f, Andy Wingo, 2018/07/02
- [Guile-commits] 118/437: Account stack alignment on jit functions with odd number of arguments., Andy Wingo, 2018/07/02
- [Guile-commits] 03/437: big merge, Andy Wingo, 2018/07/02
- [Guile-commits] 111/437: Define extra SSE2 xmmN registers and set JIT_FPTMP to the topmost one., Andy Wingo, 2018/07/02
- [Guile-commits] 94/437: fix problems with i386 32-bit floating point branches,
Andy Wingo <=
- [Guile-commits] 115/437: Change JIT_FPR_NUM to 7 to prevent clobber of JIT_FPR(7), Andy Wingo, 2018/07/02
- [Guile-commits] 112/437: Add safety check on number of integer and float arguments on x86_64., Andy Wingo, 2018/07/02
- [Guile-commits] 95/437: another fix to jit_fp_btest, Andy Wingo, 2018/07/02
- [Guile-commits] 110/437: Change jit_getarg_{c, uc, s, us, i, ui} to extr_l to sign extend on 64 bits., Andy Wingo, 2018/07/02
- [Guile-commits] 117/437: Implement x86_64 support for multiple integer and float arguments., Andy Wingo, 2018/07/02
- [Guile-commits] 105/437: fix 64-bit load with sign extension, Andy Wingo, 2018/07/02
- [Guile-commits] 70/437: add _s32P, Andy Wingo, 2018/07/02
- [Guile-commits] 121/437: Define some extra fp-common macros when sizeof(long) == sizeof(int)., Andy Wingo, 2018/07/02
- [Guile-commits] 77/437: add .gitattributes file, Andy Wingo, 2018/07/02
- [Guile-commits] 44/437: merge some bugfixes, give right meaning to jit_retval_[fd], Andy Wingo, 2018/07/02