lightning.git - Portable just-in-time compiler library

index : lightning.git
Portable just-in-time compiler library
summary refs log tree commit diff
path: root/lib/jit_ia64-cpu.c
diff options
context:
space:
mode:
authorpcpa <paulo.cesar.pereira.de.andrade@gmail.com>2023年03月02日 13:54:23 -0300
committerpcpa <paulo.cesar.pereira.de.andrade@gmail.com>2023年03月02日 13:54:23 -0300
commit6486a7c04c11902d10f7d610de6f9163891d8c5f (patch)
tree6de011bebb0889873c49f013a687de8c681d60da /lib/jit_ia64-cpu.c
parent148cc67f862c5a2b46071021a250457972f9b67b (diff)
downloadlightning-6486a7c04c11902d10f7d610de6f9163891d8c5f.tar.gz
Implement new popcntr instruction.
* check/popcnt.tst, check/popcnt.ok: New test files for the new popcntr instruction. * check/Makefile.am, check/lightning.c, include/lightning.h.in, lib/jit_names.c: lib/lightning.c, doc/body.texi: Update for popcntr. * lib/jit_aarch64-fpu.c, lib/jit_aarch64.c: Implement optimized popcntr using the fpu. * lib/jit_alpha-cpu.c, lib/jit_alpha.c: Implement optimized popcntr using the ctpop instruction. * lib/jit_arm-vfp.c, lib/jit_arm-cpu.c, lib/jit_arm.c: Implement untested optimized popcntr using vfp >= 4, otherwise use a software fallback. * lib/jit_ia64-cpu.c, lib/jit_jia64.c: Implement optimized popcntr using the popcnt instruction. * lib/jit_ppc-cpu.c, lib/jit_ppc.c: Implement optimized popcntr using the popcntb, plus mullr and rshi_u instruction. * lib/jit_x86-cpu.c, lib/jit_x86.c: Implement optimized popcntr instruction using the popcnt instruction if available, otherwise use an optimized fallback. * lib/jit_fallback.c: Implement simple fallback popcnt. * lib/jit_hppa.c, lib/jit_loongarch.c, lib/jit_mips.c, lib/jit_riscv.c, lib/jit_s390.c, lib/jit_sparc.c: Use fallback popcnt.
Diffstat (limited to 'lib/jit_ia64-cpu.c')
-rw-r--r--lib/jit_ia64-cpu.c 1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/jit_ia64-cpu.c b/lib/jit_ia64-cpu.c
index a337673..9e3cee1 100644
--- a/lib/jit_ia64-cpu.c
+++ b/lib/jit_ia64-cpu.c
@@ -1309,6 +1309,7 @@ static void _clzr(jit_state_t*, jit_int32_t, jit_int32_t);
static void _ctor(jit_state_t*, jit_int32_t, jit_int32_t);
#define ctzr(r0, r1) _ctzr(_jit, r0, r1)
static void _ctzr(jit_state_t*, jit_int32_t, jit_int32_t);
+#define popcntr(r0, r1) POPCNT(r0, r1)
#define negr(r0,r1) subr(r0,0,r1)
#define comr(r0,r1) ANDCMI(r0,-1,r1)
#define movr(r0,r1) _movr(_jit,r0,r1)
generated by cgit v1.2.3 (git 2.25.1) at 2025年09月16日 06:04:08 +0000

AltStyle によって変換されたページ (->オリジナル) /