在 SICStus Prolog 中使用 CLMUL

Utilizing CLMUL in SICStus Prolog

如何获得 SICStus Prolog JIT to use any of the following ISA

我需要它们来充电 。现在,我得到了:

  1. http://www.hackersdelight.org/

  2. 非ISO运算函数msb/1.

作为开始很好,但我想要 更多请帮忙!

不幸的是,对于这种情况,用户无法扩展 JIT。

我一直在考虑从 Prolog 访问人口计数指令(用于一些不相关的用途)。添加这个和其他类似指令的方法是:

  1. is/2 添加新的算术指令。这需要 所有 我们的代码支持,而不仅仅是 JIT 编译代码,所以解释器、WAM 仿真器、各种内部字节码处理器、我们 [=] 中的所有静态分析器11=],等等等等
  2. 添加 JIT 编译,仅回调到运行时系统中相应的 C 例程。
  3. 如果可以证明它可以充分提高性能,请让 JIT 编译器为具有它们的目标发出特殊用途的 CPU 指令。

(1) 需要足够的用户需求(当然也需要明确的融资)。 (3) 需要有说服力的基准。目前这两个都不可用,但当然可以改变。