1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-17 21:12:25 +02:00
Commit graph

18 commits

Author SHA1 Message Date
Paolo Bonzini
4865ed3451 fix several load/store patterns for x86-64.
2008-03-21  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core-64.h: Fix jit_{ld,st}{,x}i_{i,l}.
	Remove jit_ld{,x}i_ul.
	* lightning/core-common.h: Make jit_ld{,x}{i,r}_ul
	always a synonym of the _l variant.
	* doc/porting.texi: Document this.
2008-03-21 09:08:38 +01:00
Paolo Bonzini
1014c9bb12 fix uses of jit_qop_ with 4 parameters
2008-03-19  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core-64.h: Fix uses of jit_qop_.
2008-03-19 15:04:06 +01:00
Paolo Bonzini
f4bf06ad41 add long boolean operations for x86-64
2008-03-19  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core-64.h: Add boolean operations.
2008-03-19 09:57:13 +01:00
Paolo Bonzini
9a188c1b29 misc. x86-64 bugfixes
2008-03-19  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core-64.h: Misc bugfixes.
2008-03-19 09:57:11 +01:00
Paolo Bonzini
90e08b1cda add missing x86-64 memory operations
2008-03-19  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core-i386.c: Remove jit_ldr_i, jit_ldxr_i.
	* lightning/i386/core-32.h: Add jit_ldr_i, jit_ldxr_i.
	* lightning/i386/core-64.h: Add jit_ld{r,xr,i,xi}_{ui,l,ul},
	jit_ldr_i, jit_ldxr_i, jit_str_l, jit_stxr_l.
2008-03-19 09:56:19 +01:00
Paolo Bonzini
ee99e520f5 implement long mul/div/mod for x86-64
2008-03-19  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core-64.h: Implement long mul/div/mod.
2008-03-19 09:56:04 +01:00
Paolo Bonzini
889d7fbf8b use CALLsr, not CALLLsr
2008-01-14  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core-64.h: Use CALLsr, not CALLLsr.
2008-01-14 08:30:50 +01:00
Paolo Bonzini
07379b8a01 don't truncate function pointers on amd64
2008-01-13  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core-i386.h: Move jit_calli and jit_callr...
	* lightning/i386/core-32.h: ... here.
	* lightning/i386/core-64.h: Redefine them.
2008-01-13 10:22:29 +01:00
Paolo Bonzini
d0d493b417 improve set* encoding for i386, add testcase
2007-08-12  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core-i386.h: Improve encoding of set* instructions.
	* lightning/i386/core-64.h: Fix jit_bra_l.
	* tests/sete.c: New.
	* tests/sete.ok: New.

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-56
git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-60
2008-01-09 15:50:14 +01:00
Paolo Bonzini
1551f5a787 switch to GPLv3
git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-55
2008-01-09 15:50:13 +01:00
Paolo Bonzini
58c4dcea43 add floating-point for x86-64
git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-49
2008-01-09 15:50:06 +01:00
Paolo Bonzini
bdbb8ff0f8 give credit to whom credit is due
git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-46
2008-01-09 15:50:04 +01:00
Paolo Bonzini
c1725c9320 x86-64 now passes test suite
2006-11-20  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core-i386.h: Move jit_movip, jit_check8, jit_reg8,
	jit_reg16, jit_movbrm...
	* lightning/i386/core-32.h: ... here.
	* lightning/i386/core-64.h: Redefine them.  Fix other bugs.

	* tests/printf.c: Do not do a varargs call.

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-44
2008-01-09 15:50:01 +01:00
Paolo Bonzini
2534af6d2d checkin rewrite of i386 assembler
2006-11-20  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/asm-i386.h: Check in rewrite from aranym.
	* lightning/i386/asm-32.h: Adjust.
	* lightning/i386/asm-64.h: Adjust.
	* lightning/i386/fp-32.h: Adjust.

	* lightning/i386/core-32.h: Adjust.  Add jit_{ld,ldx,st,stx}i*.
	* lightning/i386/core-64.h: Adjust.  Add jit_{ld,ldx,st,stx}i*.
	* lightning/i386/core-i386.h: Adjust. Remove these patterns.

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-43
2008-01-09 15:50:00 +01:00
Paolo Bonzini
24794b0e83 add JIT_NEED_PUSH_POP and merge correct implementation of push/pop for SPARC
2006-11-20  Paolo Bonzini  <bonzini@gnu.org>
	    Ludovic Courtes  <ludo@chbouib.org>

	* lightning/i386/core-32.h: Disable jit_push and jit_pop if stack not needed.
	* lightning/i386/core-64.h: Disable jit_push and jit_pop if stack not needed.
	* lightning/sparc/core.h: Merge final implementation of jit_pushr and jit_popr.
	* lightning/ppc/core.h: Fix implementation of jit_pushr and jit_popr to
	work (more or less) across function calls.

	* tests/push-pop.c, tests/push-pop.ok: New test.
	* tests/Makefile.am: Run it.

Patches applied:

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-32
   Added missing SPARC changes from lightning@sv.gnu.org/lightning--stable--1.2--patch-10.

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-33
   SPARC: Fixed pushr/popr using %l7 to hold the pushed register offset.

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-34
   tests/push-pop.c: define `JIT_NEED_PUSH_POP'.

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-40
2008-01-09 15:49:57 +01:00
Paolo Bonzini
197d20aa96 fix x86-64 builds
git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-39
2008-01-09 15:49:55 +01:00
Paolo Bonzini
be415cc6a5 finish jit_allocai implementation
2006-11-04  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/ppc/core.h: Implement jit_allocai, define JIT_FP to be R1.
	* lightning/ppc/funcs.h: Store frame size into _jitl.  Store R1 before
	the STMW, so that the offset is unchanged when we patch the STMW.
	* lightning/i386/core.h: Define JIT_FP to be EBP.
	* lightning/i386/core-32.h: Implement jit_allocai, put LEAVE in the
	epilog if jit_allocai was used.
	* lightning/i386/core-64.h: Implement jit_allocai, put LEAVE in the
	epilog if jit_allocai was used.

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-36
2008-01-09 15:49:52 +01:00
Paolo Bonzini
1f7feaffe2 first merge of x86-64 backend and related configury changes
Patches applied:

 * bonzini@gnu.org--2004b/lightning--x86-64--1.3--base-0
   tag of bonzini@gnu.org--2004b/lightning--stable--1.2--patch-28

 * bonzini@gnu.org--2004b/lightning--x86-64--1.3--patch-1
   start merging from mzscheme...

 * bonzini@gnu.org--2004b/lightning--x86-64--1.3--patch-2
   fix i386

 * bonzini@gnu.org--2004b/lightning--x86-64--1.3--patch-3
   fix distribution hiccups

 * bonzini@gnu.org--2004b/lightning--x86-64--1.3--patch-4
   adapt for usage outside distribution.

 * bonzini@gnu.org--2004b/lightning--x86-64--1.3--patch-6
   fixes for GNU Smalltalk

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-30
2008-01-09 15:49:45 +01:00