0

动机是我想告诉编译器我的 float *U 数组是 64 字节对齐的,以便编译器可以进行向量化。

如果使用 Intel 编译器,我可以使用 __assume_aligned(U,64);我搜索了一下,发现如果我想使用 GCC 做同样的事情,我必须定义另一个浮点 *U_tmp=__builtin_assume_aligned(U,64),并使用U_tmp。但是,当它使用 GCC 进行编译时,编译器报告“错误:'__builtin_assume_aligned' 未在此范围内声明”我不知道我是否错过了一些包含此 GCC 内置函数的库或头文件。

4

1 回答 1

1

这应该是开箱即用的,没有任何额外的标题。但是,这仅添加到 GCC 4.7,也许您的编译器比那更旧?

于 2013-11-20T12:23:29.567 回答