1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-09 07:00:23 +02:00
Commit graph

21 commits

Author SHA1 Message Date
Paulo César Pereira de Andrade
5cef649486 fix two bugs in load/store for i386
* lightning/i386/core-32.h (jit_replace): Use MOVLrr, not MOVLir.
(jit_movbrm): Check index register as well.
2010-08-10 08:35:35 -04:00
Paolo Bonzini
128ad6a4e7 fix i386 jit_replace and x86_64 jit_movi_f
2010-07-28  Paolo Bonzini  <bonzini@gnu.org>

	* THANKS: Add Paulo Cesar Pereira de Andrade.
	* doc/porting.texi: Fix ordering of arguments in jit_stxi.
	* lightning/i386/core-32.h (jit_replace): Remove cmp argument.
	* lightning/i386/fp-64.h (jit_movi_f): Fix.
2010-07-28 23:29:13 +02:00
Paolo Bonzini
2ecf6a2c28 fix jit_movbrm in the i386 backend
2010-07-26  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core-32.h (jit_replace): Move here (removed
	2009-03-01).
2010-07-26 09:14:18 +02:00
Paolo Bonzini
8b2f05549c move JIT_R1/JIT_R2 to R10/R11 for the x86_64 backend
2008-06-16  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core.h: Use jit_save in jit_replace.  Move JIT_R
	definition...
	* lightning/i386/core-32.h: ... here; define jit_save so that
	the core.h has no effect on the 32-bit backend.
	* lightning/i386/core-64.h: Place JIT_R1/JIT_R2 in R10/R11,
	place outgoing arguments in the right spot from the beginning,
	define jit_save, fix jit_reg8/jit_reg16.
2008-06-17 09:32:35 +02:00
Paolo Bonzini
240905434b move x86-64 JIT_V1/JIT_V2 in R12/R13
2008-06-12  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core.h: Move JIT_V definition...
	* lightning/i386/core-32.h: ... here.
	* lightning/i386/core-64.h: ... and here.  Avoid dancing between
	RSI/RDI and R12/R13, and place JIT_V1/JIT_V2 in R12/R13.
2008-06-12 22:51:50 -07:00
Paolo Bonzini
66aef1c644 detect 32-/64-bit variant of i386 back-end at include time (not configure time)
2008-06-11  Paolo Bonzini  <bonzini@gnu.org>

	* build-aux/lightning.m4: Adjust LIGHTNING_BACKENDS, don't
	use suffix support to distinguish i386/x86_64.
	* lightning/i386/Makefile.frag: Use LIGHTNING_TARGET_FILES
	to distribute *-32.h and *-64.h files now.
	* lightning/i386/asm-i386: Moved to...
	* lightning/i386/asm.h: Include the appropriate subtarget file.
	* lightning/i386/core-i386: Moved to...
	* lightning/i386/core.h: Include the appropriate subtarget file.
	* lightning/i386/fp.h: New, include the appropriate subtarget file.
	* lightning/i386/asm-32: Do not include asm-i386.h.
	* lightning/i386/asm-64.h: Likewise.
	* lightning/i386/core-32: Do not include core-i386.h.
	* lightning/i386/core-64.h: Likewise.
	* lightning/Makefile.am: Adjust for renamed files.

	* configure.ac: Define LIGHTNING_TARGET here.
	* opcode/disass.c: Change list of valid LIGHTNING_TARGET values.

	* lightningize.in: Robustify against missing subtarget files.
2008-06-11 19:00:37 -07:00
Paolo Bonzini
ef7eb772be use MOVLir directly to implement i386 32-bit jit_movi_p
2008-06-11  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core-32.h: Use MOVLir instead of jit_movi_l
	to implement jit_movi_p.
2008-06-11 12:41:26 -07:00
Paolo Bonzini
e3461957f6 fix stack alignment for Apple 32-bit ABI
2008-06-11  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core-32.h: Use separate __APPLE__ and SysV
	prolog/ret macros.  Subtract 12 bytes in __APPLE__ case to
	keep stack aligned, and always use LEAVE in the epilog.
2008-06-11 12:37:24 -07:00
Paolo Bonzini
4bc1260c51 fix C++ incompatibility in i386 back-end
2008-06-11  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core-i386.h: Fix C++ incompatibility.
2008-06-11 08:01:15 -07: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
15a23d2a7c avoid "value computed is not used" in jit_allocai
2008-03-14  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core-32.h: Avoid some "value computed is not used"
	warnings; reported by Sam Steingold.
2008-03-16 20:45:27 +01:00
Paolo Bonzini
d369edf15d Fix stxr_c(_EAX, _EBX, _ESI).
2008-03-08  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/core-32.h: Fix stxr_c(_EAX, _EBX, _ESI).
2008-03-08 18:21:07 +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
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
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