http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53825
Bug #: 53825 Summary: Overloading with __m128d and __m256d fails Classification: Unclassified Product: gcc Version: 4.4.6 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: luc_j_bour...@mac.com ~/Developer/Tests/avx> gcc --version gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3) Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ~/Developer/Tests/avx> cat test.cpp #include <immintrin.h> __m128d add(__m128d x, __m128d y) { return x + y; } __m256d add(__m256d x, __m256d y) { return x + y; } ~/Developer/Tests/avx> g++ -c test.cpp -mavx 2>&1 | c++filt -t /tmp/ccQx1qcR.s: Assembler messages: /tmp/ccQx1qcR.s:27: Error: symbol `add(double __vector, double __vector)' is already defined