1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-08 22:02:28 +02:00
Commit graph

77 commits

Author SHA1 Message Date
Paolo Bonzini
beb5fa12ec add .gitattributes file 2008-04-10 11:30:17 +02:00
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
00f73f17d4 add LEAQmr for x86-64
2008-03-19  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/asm-64.h: Add LEAQmr.
2008-03-19 09:57:12 +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
91cfad4175 add _s32P
2008-03-19  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/asm-common.h: Add _s32P.
2008-03-19 09:56:05 +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
1598681265 cast memory address to long for JCCim
2008-03-19  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/asm-i386.h: Cast memory address to long for JCCim.
2008-03-19 09:56:03 +01:00
Paolo Bonzini
ef5a3ab797 add underscores around __unused__ attribute
2008-03-15  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/asm-common.h: Add underscores around __unused__
	attribute.
2008-03-17 09:21:42 +01:00
Paolo Bonzini
3a199529db warning patrol (allocai.c, ppc)
2008-03-15  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/ppc/core.h: Avoid some "value computed is not used"
	warnings.
	* lightning/ppc/funcs.h: Remove unused variables.
	* lightnings/tests/allocai.c: Silence other warnings.
2008-03-17 09:10:57 +01:00
Paolo Bonzini
ec2d8b3092 fix some problems (not all) with lightningize
2008-03-14  Paolo Bonzini  <bonzini@gnu.org>

	* lightningize.in: Fix some problems (not all).
2008-03-16 21:13:56 +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
a369fa1fad commit source files for separate using/porting manuals 2008-02-21 17:06:38 +01:00
Paolo Bonzini
3b4343ec47 avoid redefinition of _r1
2008-02-13  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/asm-32.h: Avoid redefinition of _r1, reported by
	Sam Steingold.
	* lightning/i386/asm-64.h: Likewise.
2008-02-14 09:55:57 +01:00
Paolo Bonzini
9f2179f572 don't use _VOID symbol, reserved by newlib (cygwin)
2008-02-08  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/asm-i386.h: Don't define _VOID, reported
	by Reini Urban.
2008-02-08 13:30:18 +01:00
Paolo Bonzini
f47b23aa9f add --with-lightning-prefix option to lightning.m4
2008-02-03  Paolo Bonzini  <bonzini@gnu.org>

	* build-aux/lightning.m4: Add --with-lightning-prefix option, suggested
	by Sam Steingold.
2008-02-03 09:58:16 +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
950b2cefe9 fix i386 floating-point sub(a,0,a)
2008-01-05  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/fp-32.h: Fix sub(a,0,a).
	* lightning/tests/3to2.c: Add new testcases.
	* lightning/tests/3to2.ok: Add new testcases.

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-61
2008-01-09 15:52:44 +01:00
Paolo Bonzini
0f828ae7de add Matthew Flatt to THANKS file
git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-59
2008-01-09 15:52:44 +01:00
Paolo Bonzini
329b8a8a68 add 3to2 test and fix bug
2008-01-02  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/fp-32.h: Fix sub(a,b,a) with a ~= JIT_FPR0.
	* lightning/tests/3to2.c: New.
	* lightning/tests/3to2.ok: New.

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-58
2008-01-09 15:52:30 +01:00
Paolo Bonzini
f4500a8e95 fix -I flags for opcode subdirectory
2007-11-07  Paolo Bonzini  <bonzini@gnu.org>

	* opcode/Makefile.am: Fix AM_CPPFLAGS.

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-57
2008-01-09 15:50:16 +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
4ffa29247c fix imprecisions in the ChangeLog
git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-54
2008-01-09 15:50:12 +01:00
Paolo Bonzini
b07a8d4ea1 add clean-local target to lightning/Makefile.am
Patches applied:

 * thomas.g.girard@free.fr--2007-archives/smalltalk--stable--2.3--patch-2
   fix lightning clean: target

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-53
2008-01-09 15:50:11 +01:00
Paolo Bonzini
19f163bcaf use CVTT instruction, fix lightning/Makefile.am
2006-12-02  Paolo Bonzini  <bonzini@gnu.org>

	* 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: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-52
2008-01-09 15:50:10 +01:00
Paolo Bonzini
36a3ae9058 refine ludovic's doc patch
git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-51
2008-01-09 15:50:09 +01:00
Paolo Bonzini
67d0c9a3f1 merge from ludovic
Patches applied:

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-38
   Doc: Mention `JIT_R_NUM' and `JIT_V_NUM'.

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-43
   Removed C99/C++ comments from `asm-i386.h'.

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-50
2008-01-09 15:50:07 +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
3a04a40aae merge some bugfixes, give right meaning to jit_retval_[fd]
2006-11-22  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/asm-i386.h: Move x86-64 instructions...
	* lightning/i386/asm-64.h: ... here.
	* lightning/i386/fp-32.h: Fix bugfixes worked around in froofyJIT.
	Add JIT_FPRET.
	* lightning/sparc/fp.h: Likewise.
	* lightning/ppc/fp.h: Likewise.
	* lightning/fp-common.h: Adjust for JIT_FPRET.
	* tests/funcfp.c: Adjust for JIT_FPRET.
	* tests/rpnfp.c: Adjust for JIT_FPRET.

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-47
git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-48
2008-01-09 15:50:05 +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
b34aa5a64e add an underscore to macros without a parameter [x86]
2006-11-20  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/asm-i386.h:  Add an underscore to macros without
	a parameter.

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-45
2008-01-09 15:50:03 +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
76e49b1bcc merge 64-bit cleanliness changes from mzscheme
2006-11-20  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/i386/asm-i386.h: Merge 64-bit cleanliness changes from mzscheme.
	* lightning/i386/asm-64.h: Likewise.

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-41
git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-42
2008-01-09 15:49:59 +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
f748b3c5e7 update manual for jit_allocai
git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-38
2008-01-09 15:49:54 +01:00
Paolo Bonzini
82d90f4ddc remove pushr/popr from testsuite
2006-11-04  Paolo Bonzini  <bonzini@gnu.org>

	* tests/rpn.c: Remove pushr/popr.

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-37
2008-01-09 15:49:53 +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
4290adb33a add jit_allocai for SPARC
Patches applied:

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-28
   Implemented `jit_allocai' for SPARC.

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-29
   tests/allocai.c: New test case.

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-30
   Fixed `_d22 ()' on SPARC (fixes "displacement too large" errors).

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-35
2008-01-09 15:49:51 +01:00
Paolo Bonzini
54c573d8d7 fix powerpc jit_bms
2006-11-03  Paolo Bonzini  <bonzini@gnu.org>

	* lightning/ppc/core.h: Fix jit_bms using BNE rather than BGT.
	"AND." does signed comparisons.

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-34
2008-01-09 15:49:50 +01:00
Paolo Bonzini
e70005878a prepare for automatic variables support
2006-10-31  Paolo Bonzini  <bonzini@gnu.org>

	* doc/porting.texi: Rename JIT_FP to JIT_AP.
	* lightning/core-common.h: Likewise.
	* lightning/i386/core-i386.h: Likewise.
	* lightning/fp-common.h: Provide default versions of jit_getarg_[fd].
	* lightning/i386/fp-32.h: Don't provide jit_getarg_[fd].
	* lightning/ppc/fp.h: Likewise.

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-33
2008-01-09 15:49:49 +01:00
Paolo Bonzini
e2cb4af6aa added ret test and clarified JIT_RET documentation
Patches applied:

 * lcourtes@laas.fr--2005-libre/lightning--sparc-fixes--1.2--base-0
   tag of lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-18

 * lcourtes@laas.fr--2005-libre/lightning--sparc-fixes--1.2--patch-1
   tests/push-pop.c: Use more `pushr's.

 * lcourtes@laas.fr--2005-libre/lightning--sparc-fixes--1.2--patch-3
   Added a test for `JIT_RET' (fails on SPARC).

 * lcourtes@laas.fr--2005-libre/lightning--sparc-fixes--1.2--patch-4
   Fixed use of `JIT_RET': Move %o0 into %i0 after `calli' and `callr'.

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-19
   Merge from `sparc-fixes': Fixed `pushr' and `popr', fixed `JIT_RET'.

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-20
   Undoed `lightning--sparc-fixes--1.2--patch-4' (about `JIT_RET') which was wrong.

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-21
   tests/ret.c: Use `jit_retval_i' to copy the function's return value.

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-22
   Doc: Clarified the use of `JIT_RET' and documented `jit_retval'.

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-32
2008-01-09 15:49:47 +01:00
Paolo Bonzini
147efb8d90 cherrypick from ludovic courtes
2006-10-31  Paolo Bonzini  <bonzini@gnu.org>
	    Ludovic Courtes  <ludo@chbouib.org>

	* tests/divi.c, tests/divi.ok, tests/movi.c, tests/movi.ok: New.
	* tests/ldxi.c: Ensure large pointer is generated.
	* tests/Makefile.am: Point to new tests.
	* lightning.h: Include funcs-common.h before funcs.h.
	* lightning/sparc/core.h: Fix bugs in modi/divi.

Patches applied:

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-11
   Fixed a typo in `lightning/sparc/core.h'.

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-12
   SPARC: Fixed `jit_immsize' (untested!).

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-13
   Added a `divi' test case (does not catch the bug fixed by the previous patch).

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-14
   `divi' test case: Return non-zero on failure.

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-15
   `ldxi.c' (test case): Make sure we use a large pointer operand.

 * lcourtes@laas.fr--2005-libre/lightning--stable--1.2--patch-16
   Added a `movi' test case (for `jit_movi_p' with large operands).

git-archimport-id: bonzini@gnu.org--2004b/lightning--stable--1.2--patch-31
2008-01-09 15:49:46 +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