【发布时间】:2020-08-13 18:40:34
【问题描述】:
根据《Arm Architecture Reference Manual Armv8, for Armv8-A architecture profile》,有一条指令FMOV (scalar, immediate)。说明“该指令将浮点立即数常量复制到 SIMD & FP 目标寄存器”。
是否可以编写一个简单的 Java 程序在 AArch64 机器上执行这条指令?另外,如何验证编写的程序是否执行特定指令?谢谢。
PS1:我正在使用 Eclipse OpenJ9 VM (https://www.eclipse.org/openj9)。
PS2:由于javap 是基于字节码的,所以这不是我想要的。我也尝试了以下命令,但无法验证指令执行-
java -Xjit:limit={<function_name>} -Xjit:verbose,vlog=<vlogfile_name> <class_name>
java -Xjit:verbose,vlog=<vlogfile_name> <class_name>
【问题讨论】:
-
javap -v不会为您做任何事情:那是 Java 字节码,它根本不是特定于机器的。 -
您必须使用 JNI 才能使用原始指令。或者你可以稍微修改一下JVM
-
为什么需要这个?你想解决什么问题?
-
@Protik 你不能用 Java 编写像内联汇编这样的东西。您必须使用 JNI、JNA 或 Project Panama
-
不同的人(1,2)提出了这个不寻常的问题,这是非常了不起的。所以,这是你的家庭作业/测试作业,不是吗?如果是这样,请看一下,how to ask homework questions