问题标签 [armv8]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
simd - Aarch64 NEON 中的 UADDL 与 UADDL2
霓虹灯组装
我正在尝试了解 arm-v8 NEON。让我举一个例子,我想做什么。
我从数组 A 加载 16 字节(uchar 中的像素)。现在我想尝试“延长 ADD”到 ushort。从文档中,我看到UADDL 和 UADDL将分别对源寄存器的下半部分和上半部分进行加长加法。我可以编写以下代码来让它工作:
NEON 内在
来到 NEON Intrinsics,语法如下:(参见第 8 页)
在这里,两个函数的输入是不同类型的。
因此,一旦我加载了一个 uint8x16_t 变量,我应该如何将此变量传递给 vaddl_u8?我可以做任何铸造吗?还是我必须将下半部分复制到另一个变量?(也就是说,这是额外的费用)
所以我的问题是,如何使用 NEON 内在函数来实现这段汇编代码?
更新
- 我在 Ubuntu 16.04 中使用 aarch64-linux-gnu-g++(gcc 版本 5.4.0)。
armv8 - aarch64 指令编码中是否有未使用的位?
根据关于 aarch64 指令编码的链接,某些指令中有未使用的位,如x
下面的指令列表所示LDR
。但是我有任何关于 armv8 手册中未使用位的文档。根据 armv8 手册,这些未使用的位是否有效?
xxx1 1101 x1ii iiii iiii iinn nnnt tttt - ldr Ft ADDR_UIMM12
linux-kernel - ARM64 是否支持 ACPI 睡眠状态 S3(挂起到内存)?
我正在使用 ARMv8/ARM64 架构并启动 Linaro v4.9 lsk 。我想使用 ACPI 睡眠状态 S3,如下所示:
echo mem > /sys/power/state
我收到一个错误:
无效的论点
/sys/power/state 中唯一的字符串是“freeze”和“mem”
我也在使用 ARM 受信任的固件,经过这么多努力以获得使其工作的任何线索。我发现它支持 psci 1.0,它已经存在于我的固件中。
谁能让我知道我错过了什么?
我也尝试更改设备树以采用 psci-1.0...如果确实需要设备树条目..请让我知道使 Suspend to Ram 工作的确切条目。
提前致谢
arm - ARM 固定虚拟平台 (FVP) 和 ARMv8.4-a 支持
ARM 为在固定虚拟平台 (FVP)上的开发提供仿真器。ARM 还发布了 ARMv8.4-a,它为加密算法提供硬件加速,包括 SHA2-512、SHA3、SM3 和 SM4。我有一些 C++ 代码我想移植到新指令。
我需要使用 ARMv8.4-a 访问 FVP 或机器。我不相信目前该领域有任何带有 ARMv8.4-a 的芯片。我认为这意味着 FVP 是我目前唯一的选择。
我的问题是,FVP 是否支持 ARMv8.4?
assembly - armv8 RRX 寄存器使用
在我的一个作业练习中,我被要求编写一个计算寄存器中 1 位数量的 armv8 程序。这是我的实现:
这个网站的一个很好的流程图很好地概述了我的程序:http ://www.8085projects.info/Program21.html
但是,它给了我这个错误:
根据http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204j/Cjacbgca.html, rrx 需要两个寄存器作为输入,所以我在这里遗漏了什么吗?
arm - 从 QEMU GICv3 上的 EL2 访问系统寄存器时出现异常
我有一些在 QEMU 中运行的裸机 AARCH64 软件。我正在尝试从 EL2 访问 GICv3 系统寄存器 ICH_*,但是当我读/写它时我不断收到异常。
我通过设置 ICC_SRE_EL2 寄存器启用了 SRE
我错过了什么吗?
-金
c++ - 带有可扩展矢量扩展 (SVE) 的 ARM V-8
我发现 ARMv8 现在支持来自128 bits to 2048 bits
( scalable vector extension SVE
) 的可变长度向量寄存器。具有更大的寄存器宽度以实现数据级并行性总是好的。但是,我们需要在什么基础上选择从 128 位到 2048 位的寄存器大小以实现最大性能呢?
例如,我想在 1920 X 1080 Y 图像上使用 3x3 掩码进行 Sobel 过滤。我需要选择什么寄存器宽度?
c++ - 在 c++ armv8 中是否有用于打开/关闭清零模式的编译器标志?
我的编译器很响,我不知道如何在 armv8 中打开清零模式,谁能告诉我?我找到了一些这样的标志-fdenormal-fp-math=[values]
,但它不起作用。
docker - 用于 ARMv8 的 asp.net 核心 Docker 映像
我正在寻找用于 ARMv8 的 asp.net 核心 sdk 和运行时 docker 映像,但到目前为止,我搜索了 docker hub 存储库,我只能看到 ARM32。这是什么意思?我必须创建自己的图像吗?还是我必须在 ARMv8 架构上使用 ARM32?
linux - 如何使用 armv8l-gnueabi 交叉编译 ARM64 的 32 位 Linux 内核?
我正在编译一个 32 位 Linux 内核 (4.4.x) 以在 ARM64 设备上运行。我正在使用Linaro的 armv8l-linux-gnueabihf gcc。
为了编译 Linux 内核,我运行以下命令:
我收到以下错误:
./arch/arm64/include/uapi/asm/ptrace.h:76:2:错误:未知类型名称'__uint128_t'
似乎 32 位 GCC 编译器不知道如何使用 128 位变量。
我怎么解决这个问题?