【发布时间】:2012-01-04 00:14:09
【问题描述】:
在 tr1 数组中的“gcc 版本 4.2.1(基于 Apple Inc. build 5658)(LLVM build 2335.15.00)”中,我看到了:
value_type _M_instance[_Nm ? _Nm : 1] __attribute__((__aligned__));
而在“gcc 版本 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4)”中,我看到了:
value_type _M_instance[_Nm ? _Nm : 1];
也就是说,似乎 tr1 数组不再被指定为对齐(这会影响为它们编写的 SSE 代码)。我们的一些单元测试在 _mm_load_ps 中失败了。是否有任何地方讨论过这种变化?
【问题讨论】:
-
它们将与
value_type对齐。如果您需要除此之外的任何内容,则必须自己添加。请注意,这不是任何标准的一部分,也不是纯粹的编译器特定问题。
标签: gcc sse tr1 memory-alignment