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
Laurent Michel
1e9000649c
fix jit_replace8 for case when one of the operands is _EAX.
...
2008-06-10 Laurent Michel <ldm@engr.uconn.edu>
* lightning/i386/core-i386.h: Fix jit_replace8 for
case when one of the operands is _EAX.
2008-06-10 16:47:07 -07:00
Paolo Bonzini
5ab8cddd61
avoid CRLF issues on mingw
...
2008-05-19 Paolo Bonzini <bonzini@gnu.org>
* tests/run-test: Avoid CRLF issues on mingw.
2008-05-19 10:58:41 +02:00
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