【发布时间】:2011-08-21 00:56:51
【问题描述】:
我已经开始在新的英特尔 Sandy Bridge 处理器上使用 AVX 指令。我正在使用 GCC 4.5.2,TDM-GCC 64 位版本的 MinGW64。
我想重载 operator__m256、__m128 等打印到控制台。但是我遇到了超载冲突。以下代码中的第二个函数产生错误“与先前的声明 void f(__vector(8) float) 冲突”:
void f(__m128 v) {
cout << 4;
}
void f(__m256 v) {
cout << 8;
}
似乎编译器无法区分这两种类型并认为它们都是f(float __vector)。
有没有办法解决这个问题?我一直无法在网上找到任何东西。非常感谢任何帮助。
【问题讨论】:
标签: gcc operator-overloading sse avx mingw-w64