GNU lightning - News: GNU lightning 2.2.1 release
Latest News
GNU lightning 2.2.3 released! posted by pcpa, Thu 08 Feb 2024 06:51:36 PM UTC
GNU lightning 2.2.2 released! posted by pcpa, Thu 27 Apr 2023 04:04:14 PM UTC
GNU lightning 2.2.1 release posted by pcpa, Fri 17 Feb 2023 07:27:03 PM UTC
GNU lightning 2.2.0 release posted by pcpa, Wed 16 Nov 2022 03:15:11 PM UTC
GNU lightning 2.1.4 release posted by pcpa, Fri 04 Nov 2022 12:43:20 PM UTC
GNU lightning 2.2.1 release
Item posted by Paulo César Pereira de Andrade <pcpa> on Fri 17 Feb 2023 07:27:03 PM UTC.
GNU lightning is a library to aid in making portable programs
that compile assembly code at run time.
Development:
http://git.savannah.gnu.org/cgit/lightning.git
Download release:
ftp://ftp.gnu.org/gnu/lightning/lightning-2.2.1.tar.gz
GNU Lightning 2.2.1 main new features:
- Variable stack framesize implemented for aarch64, arm, i686, mips, riscv, loongarch and x86_64. This means function calls use only the minimum required stack space for prolog and epilog.
- Optimization of prolog and epilog to not create a frame pointer if not required, and not even save and restore the stack pointer if not required on a leaf function. These features implemented for the ports with variable stack framesize.
- New clor, czr, ctor and ctzr instructions, that count leading/trailing zeros/ones. These use hardware implementation when available, otherwise fallback to a software implementation.
- Correct several bugs with jit_arg_register_p and jit_putarg{r,i}{_f,_d}. These bugs were not noticed earlier due to an incorrect check for correctness in check/carg.c.
- Add rip relative addressing support for x86_64 and shorter signed 64 bit constant load if the constant fits in a signed 32 bit integer. This significantly reduces code size generation.
- Correct bugs in branch generation code for pppc and sparc.
- Correct bug in signed 32 bit integer load in ppc 64 bits.
- Add short relative unconditional branches and calls to mips, reducing code size generation.
- And several extra minor optimizations.
Powered by Savane 3.14-50d9.
Corresponding source code