c++/10611: [3.3/3.4] operations on vector mode not recognized
rguenth@tat.physik.uni-tuebingen.de
rguenth@tat.physik.uni-tuebingen.de
Sat May 3 17:28:00 GMT 2003
>Number: 10611
>Category: c++
>Synopsis: [3.3/3.4] operations on vector mode not recognized
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: rejects-legal
>Submitter-Id: net
>Arrival-Date: Sat May 03 16:46:01 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: Richard Guenther
>Release: gcc-3.3 (GCC) 3.3 20030427 (Debian prerelease), gcc-3.4 (GCC) 3.4 20030422 (experimental)
>Organization:
>Environment:
ia32 gnu-linux
>Description:
Operations (+ - * /, etc.) on vector modes are not recognized in c++. The following testcase works for C, but not for C++:
typedef float v4sf __attribute__((mode(V4SF)));
void foo()
{
v4sf a, b, c;
a = b + c;
}
bellatrix:~/src/tests$ g++-3.3 -c -msse2 simd2.cpp
simd2.cpp: In function `void foo()':
simd2.cpp:6: error: invalid operands of types `vector float' and `vector
float'
to binary `operator+'
same for gcc 3.4. I suspect this is really rejects-legal, as I see no reason that it shouldnt (but the documentation isnt clear either - vector mode extensions are within the C Extensions part).
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the Gcc-bugs
mailing list