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-14 Laurent Michel <ldm@thorgal.homelinux.org>
* lightning/i386/core-64.h (jit_movi_l): When the operand is 0,
the XOR should be on a quadword.
* lightning/i386/core-64.h (jit_prolog): Keep 16-byte stack
alignment.
(jit_ret): Always use LEAVE.
2008-06-13 Laurent Michel <ldm@thorgal.homelinux.org>
* lightning/i386/core-64.h: Add (void) casts for C++ compatibility.
* lightning/i386/asm.h: Likewise.
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-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 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-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-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-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.
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
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
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
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
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
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