gpt4 book ai didi

c++ - SSE 数据类型和原语

转载 作者:搜寻专家 更新时间:2023-10-31 01:56:30 28 4
gpt4 key购买 nike

在网络上的大多数教程或代码片段中,您会看到以下内容:

float *arr= (float*) _aligned_malloc(length * sizeof(float), 16);
__m128 *m1 = (__m128*)arr;

这是否违反了严格的别名规则?我认为它确实如此,但肯定所有那些教程作者都不会为了方便而忽略它,因为 __m128 是一个包含 float[4] 的 union ,也许我误解了它的一些复杂部分。

最佳答案

这还没有违反它——还没有。但是,通过一个指针写入并通过另一个指针读取会违反严格别名。

相反,您应该使用如下函数:

关于c++ - SSE 数据类型和原语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7005075/

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