git subrepo pull (merge) --force deps/lightning
[pcsx_rearmed.git] / deps / lightning / ChangeLog
index a842040..40ade7a 100644 (file)
@@ -1,3 +1,90 @@
+2022-10-12 Paulo Andrade <pcpa@gnu.org>
+
+       * include/lightning/jit_loongarch.h, lib/jit_loongarch-cpu.c,
+       lib/jit_loongarch-fpu.c, lib/jit_loongarch-sz.c, lib/jit_loongarch.c:
+       New files implementing the first version of the new loongarch port.
+       * check/float.tst: Add preprocessor checks for NaN and +-Inf
+       values converted to integers for loongarch.
+       * configure.ac: Add check and conditionals for new architecture.
+       * include/lightning.h.in, check/lightning.c,
+       include/lightning/Makefile.am, include/lightning/jit_private.h,
+       lib/Makefile.am, lib/jit_size.c, lib/lightning.c: Update for new
+       port.
+
+2022-10-05 Paulo Andrade <pcpa@gnu.org>
+
+       * check/lightning.c: Remove -Dmacro=value from usage and attempt
+       to parse it. It was buggy and not properly implemented. Now
+       it pass any extra options to the generated jit. To pass any
+       option starting with '-' need to also use '--'.
+       * check/collatz.e: New sample file showing an example of jit
+       generation.
+
+2022-10-04 Paulo Andrade <pcpa@gnu.org>
+
+       * include/lightning/jit_private.h: Add new flag to jit_block_t.
+       * lib/lightning.c: Rewrite register liveness and state at block
+       entry code to avoid a very expensive and non scaling code path.
+       Now it attempts to do as few as possible recomputations when
+       merging state of adjacent blocks, still doing one extra nop pass
+       (in the sense that it will not find any changes) to make sure the
+       logic is correct.
+
+2022-09-30 Paulo Andrade <pcpa@gnu.org>
+
+       * include/lightning/jit_private.h: Implement new data structures
+       specific to riscv.
+       * lib/jit_disasm.c: Extra disassemble code for riscv constant pool.
+       * lib/jit_riscv-cpu.c: Modify movi to use constant pool if 3 or
+       more instructions are required to construct constant and modify
+       movi_p to use a pc relative load from a constant pool.
+       lib/jit_riscv-sz.c: Update for new constant pool code. Most
+       instructions that need 64 bit constants are significantly reduced.
+       * lib/jit_riscv.c: Implement most of the constant pool code.
+       * lib/jit_size.c: Update for estimate of code generation size.
+       * lib/lightning.c: Update for riscv specific code, and also make
+       sure to mprotect the constant pool as executable.
+
+2022-09-08 Paulo Andrade <pcpa@gnu.org>
+
+       * lib/jit_fallback.c: Implement fallback compare and swap with
+       pthreads.
+       * check/Makefile.am: Update for new cas{r,i} simple test.
+       * check/catomic.c, check/catomic.ok: New test case for
+       simple compare and swap atomic operation.
+       * check/lightning.c: Add entries to be able to use
+       the new compare and swap atomic operation. Still missing
+       a general test, only the basic C version.
+       * include/lightning.h.in: Include pthread.h, even if not
+       needing a fallback compare and swap.
+       * include/lightning/jit_private.h: Add support for a register pair
+       in second argument. Required by the new casr and casi operations.
+       * lib/jit_aarch64-cpu.c, lib/jit_aarch64-sz.c, lib/jit_aarch64.c,
+       lib/jit_ppc-cpu.c, lib/jit_ppc-sz.c, lib/jit_ppc.c, lib/jit_x86-cpu.c,
+       lib/jit_x86-sz.c, lib/jit_x86.c: Implement inline code for compare
+       and swap.
+       * lib/jit_arm-cpu.c, lib/jit_arm-sz.c, lib/jit_arm.c: Implement
+       inline code for compare and swap if cpu is armv7, otherwise, use
+       a fallback with pthreads.
+       * lib/jit_alpha-cpu.c, lib/jit_alpha-sz.c, lib/jit_alpha.c,
+       lib/jit_hppa-cpu.c, lib/jit_hppa-sz.c, lib/jit_hppa.c,
+       lib/jit_ia64-cpu.c, lib/jit_ia64-sz.c, lib/jit_ia64.c,
+       lib/jit_mips-cpu.c, lib/jit_mips-sz.c, lib/jit_mips.c,
+       lib/jit_riscv-cpu.c, lib/jit_riscv-sz.c, lib/jit_riscv.c,
+       lib/jit_s390-cpu.c, lib/jit_s390-sz.c, lib/jit_s390.c,
+       lib/jit_sparc-cpu.c, lib/jit_sparc-sz.c, lib/jit_sparc.c: Implement
+       fallback compare and swap with pthreads. At least some of these
+       should be updated for inline code generation.
+       * lib/jit_names.c, lib/jit_print.c: lib/lightning.c: Update for the
+       new compare and swap operation.
+       * doc/body.texi: Add simple documentation of the compare and swap
+       new operation.
+
+2022-08-12  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
+
+       Document jit_align.
+       * doc/body.texi: Add documentation for jit_align.
+
 2022-05-14 Paulo Andrade <pcpa@gnu.org>
 
        * include/lightning.h.in: Reorder jit_mov{n,z}r in instruction list.