c++/7542: compiling for powerpc Altivec
eyal@mobileye.com
eyal@mobileye.com
Thu Aug 8 05:16:00 GMT 2002
>Number: 7542
>Category: c++
>Synopsis: compiling for powerpc Altivec
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: wrong-code
>Submitter-Id: net
>Arrival-Date: Thu Aug 08 05:06:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: eyal@mobileye.com
>Release: gcc-3.1
>Organization:
>Environment:
linux , powerpc
>Description:
I tried to compile Altivec code - and used vec_msum(__vector signed char c1, __vector unsigned char c2, __vector signed int i1) ...
the compiler change this to the assembler code vmsumubm - which uses 2 UNsigned char vectors instead of vmsummbm which uses one SIGNES and one UNSIGND !!
this bug causes the signed operand to be treated as unsigned !!
>How-To-Repeat:
the following compilation:
g++ -S -Wall -pedantic -ansi -Wno-long-long -DNDEBUG -O6 -DALTIVEC -maltivec testZevel.cpp
the g++ version is :
Reading specs from /opt/gcc-3.1/lib/gcc-lib/i686-pc-linux-gnu/3.1/specs
Configured with: ../gcc-3.1/configure --prefix=/opt/gcc-3.1 --enable-shared --enable-threads --enable-languages=c,c++
Thread model: posix
gcc version 3.1
>Fix:
need to be find fast so if you have something please let me know !!!
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="testZevel.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="testZevel.cpp"
I2luY2x1ZGUgPGFsdGl2ZWMuaD4KCl9fdmVjdG9yIHNpZ25lZCBpbnQgdGVzdFpldmVsKCkKeyAg
ICAKICBfX3ZlY3RvciBzaWduZWQgY2hhciB2c2MxID0gey0xNiwtMTUsLTE0LC0xMywtMTIsLTEx
LC0xMCwtOSwtOCwtNywtNiwtNSwtNCwtMywtMiwtMX07CiAgX192ZWN0b3IgdW5zaWduZWQgY2hh
ciB2dWMxID0gezEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2fTsKICAKICAg
IAogIF9fdmVjdG9yIHNpZ25lZCBpbnQgdnNpMSA9IHswLDAsMCwwfTsKICBfX3ZlY3RvciBzaWdu
ZWQgaW50IHZzaTI7CiAgCiAgdnNpMiA9IHZlY19tc3VtKHZzYzEsdnVjMSx2c2kxKTsKCiAgcmV0
dXJuIHZzaTI7CiAgICAKfQogIAo=
More information about the Gcc-prs
mailing list