[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 154/437: Correct test cases to work with x87 in ix86.
From: |
Andy Wingo |
Subject: |
[Guile-commits] 154/437: Correct test cases to work with x87 in ix86. |
Date: |
Mon, 2 Jul 2018 05:14:08 -0400 (EDT) |
wingo pushed a commit to branch lightning
in repository guile.
commit 0e83b52d49086de1f74ca3906136aa4475b0d520
Author: pcpa <address@hidden>
Date: Fri Dec 14 17:39:29 2012 -0200
Correct test cases to work with x87 in ix86.
* lib/jit_x86-x87.c, lib/jit_x86.c: Correct test cases in ix86
when using the x87 coprocessor instead of sse2+.
---
ChangeLog | 5 +++++
lib/jit_x86-x87.c | 8 ++++----
lib/jit_x86.c | 2 +-
3 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index b0802dd..9d7c4e1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2012-12-14 Paulo Andrade <address@hidden>
+ * lib/jit_x86-x87.c, lib/jit_x86.c: Correct test cases in ix86
+ when using the x87 coprocessor instead of sse2+.
+
+2012-12-14 Paulo Andrade <address@hidden>
+
* include/lightning.h, include/lightning/jit_private.h,
lib/jit_arm.c, lib/jit_mips.c, lib/jit_ppc.c, lib/jit_x86.c,
lib/lightning.c: Make jit_ellipsis implementation not
diff --git a/lib/jit_x86-x87.c b/lib/jit_x86-x87.c
index 5ad905d..579c661 100644
--- a/lib/jit_x86-x87.c
+++ b/lib/jit_x86-x87.c
@@ -442,7 +442,7 @@ _x87_addr_d(jit_state_t *_jit, jit_int32_t r0, jit_int32_t
r1, jit_int32_t r2)
faddr(_ST0_REGNO, r2);
else {
fxchr(r0);
- faddr(_ST0_REGNO, r2);
+ faddr(_ST0_REGNO, r0 == r2 ? _ST0_REGNO : r2);
fxchr(r0);
}
}
@@ -476,7 +476,7 @@ _x87_subr_d(jit_state_t *_jit, jit_int32_t r0, jit_int32_t
r1, jit_int32_t r2)
fsubr(_ST0_REGNO, r2);
else {
fxchr(r0);
- fsubr(_ST0_REGNO, r0);
+ fsubr(_ST0_REGNO, r0 == r2 ? _ST0_REGNO : r2);
fxchr(r0);
}
}
@@ -510,7 +510,7 @@ _x87_mulr_d(jit_state_t *_jit, jit_int32_t r0, jit_int32_t
r1, jit_int32_t r2)
fmulr(_ST0_REGNO, r2);
else {
fxchr(r0);
- fmulr(_ST0_REGNO, r2);
+ fmulr(_ST0_REGNO, r0 == r2 ? _ST0_REGNO : r2);
fxchr(r0);
}
}
@@ -544,7 +544,7 @@ _x87_divr_d(jit_state_t *_jit, jit_int32_t r0, jit_int32_t
r1, jit_int32_t r2)
fdivr(_ST0_REGNO, r2);
else {
fxchr(r0);
- fdivr(_ST0_REGNO, r0);
+ fdivr(_ST0_REGNO, r0 == r2 ? _ST0_REGNO : r2);
fxchr(r0);
}
}
diff --git a/lib/jit_x86.c b/lib/jit_x86.c
index 8386a85..4bbc5e9 100644
--- a/lib/jit_x86.c
+++ b/lib/jit_x86.c
@@ -953,7 +953,7 @@ _jit_emit(jit_state_t *_jit)
break
#define case_rrf(name, type) \
case jit_code_##name##r##type: \
- if (jit_x87_reg_p(node->u.w)) \
+ if (jit_x87_reg_p(node->w.w)) \
x87_##name##r##type(rn(node->u.w), \
rn(node->v.w), rn(node->w.w)); \
else \
- [Guile-commits] 116/437: Change jit_finish to work with varargs functions in x86_64., (continued)
- [Guile-commits] 116/437: Change jit_finish to work with varargs functions in x86_64., Andy Wingo, 2018/07/02
- [Guile-commits] 85/437: add (void) casts for C++ compatibility, Andy Wingo, 2018/07/02
- [Guile-commits] 127/437: Extra cleanup before update to new codebase., Andy Wingo, 2018/07/02
- [Guile-commits] 130/437: Add make rule to build test case dependencies., Andy Wingo, 2018/07/02
- [Guile-commits] 125/437: fix multiplication on x86_64, Andy Wingo, 2018/07/02
- [Guile-commits] 102/437: add ldst test, Andy Wingo, 2018/07/02
- [Guile-commits] 131/437: Add proper make clean rule to the check subdir., Andy Wingo, 2018/07/02
- [Guile-commits] 109/437: more fixes to fp branches, Andy Wingo, 2018/07/02
- [Guile-commits] 136/437: Update code to build and pass test cases in the arm port., Andy Wingo, 2018/07/02
- [Guile-commits] 124/437: Also reset alloca_slack after jit_prolog in i386., Andy Wingo, 2018/07/02
- [Guile-commits] 154/437: Correct test cases to work with x87 in ix86.,
Andy Wingo <=
- [Guile-commits] 148/437: Add better ppc support code, but still not functional., Andy Wingo, 2018/07/02
- [Guile-commits] 153/437: Make it clear stdarg like abstraction is not supported., Andy Wingo, 2018/07/02
- [Guile-commits] 76/437: fix several load/store patterns for x86-64., Andy Wingo, 2018/07/02
- [Guile-commits] 81/437: fix stack alignment for Apple 32-bit ABI, Andy Wingo, 2018/07/02
- [Guile-commits] 98/437: always set and replace lightning_frag, Andy Wingo, 2018/07/02
- [Guile-commits] 166/437: Correct extra regressions found by the call.tst test case., Andy Wingo, 2018/07/02
- [Guile-commits] 165/437: Add simple test case to test argument and return values., Andy Wingo, 2018/07/02
- [Guile-commits] 158/437: Add new test case to check stack integrity on complex stack frames., Andy Wingo, 2018/07/02
- [Guile-commits] 150/437: Add jit_ellipis and remove jit_prepare argument., Andy Wingo, 2018/07/02
- [Guile-commits] 108/437: fix x86_64 jit_bner_{f,d}, Andy Wingo, 2018/07/02