如何让 SICStus Prolog JIT使用以下任何ISA?
英特尔 BMI :
POPCNT
,LZCNT
,TZCNT
,PDEP
,PEXT
英特尔 CLMUL:
PCLMULQDQ
ARM AArch64:
RBIT
我需要它们来为clpz增压。现在,我得到了:
非 ISO 算术函数
msb/1
。
一开始很好,但我想要更多。请帮忙!
不幸的是,对于这种情况,用户无法扩展 JIT。
我一直在考虑从 Prolog 访问人口计数指令(用于一些不相关的用途)。添加此指令和其他类似指令的方法是:
is/2
. 这需要我们所有的代码都支持,而不仅仅是 JIT 编译的代码,还有解释器、WAM 模拟器、各种内部字节码处理器、我们IDE中的所有静态分析器等。(1) 需要足够的用户需求(当然也需要明确的融资)。(3) 需要令人信服的基准。目前这些都不可用,但当然,这可能会改变。