gpt4 book ai didi

无法使用 ARM NEON 内在函数设置 4 个 floatx32 的 vector

转载 作者:太空宇宙 更新时间:2023-11-04 01:22:24 26 4
gpt4 key购买 nike

我想从表中加载一些值并将它们设置到 vector 中:在第一种情况下,将 vector 的四个值设置为:

float32x4_t dest = vdupq_n_f32(a);

当我阅读内在函数手册时,这一点非常明显。

在第二种情况下,将 vector 的四个值设置为表中的不同值。这有点棘手,因为没有相关说明,所以我执行了以下操作:

float32x4_t dest = {a3,a2,a1,a0};

这不是内在的,但基于网络上的其他出版物和论坛,它是我唯一的解决方案。遗憾的是,我收到了这个错误:

error: expected expression before ‘{’ token

有人可以为此提供帮助或有替代方案吗?

最佳答案

如果您的编译器不支持这样的直接初始化(即您使用的不是 gcc 或 clang),那么您需要显式加载这些值,例如

const float init[4] = {a3,a2,a1,a0};
float32x4_t dest = vld1q_f32(init);

请注意,您的第一个示例似乎是错误的 - 如果您尝试将所有 4 个 vector 元素设置为相同的值(如 SSE 的 _mm_set1_ps),那么您将需要使用类似 vdupq_n_f32

关于无法使用 ARM NEON 内在函数设置 4 个 floatx32 的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38979417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com