This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/36837] New: Return type of spu_splats is not deduced correctly
- From: "jadamcze at utas dot edu dot au" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 Jul 2008 13:52:02 -0000
- Subject: [Bug target/36837] New: Return type of spu_splats is not deduced correctly
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
For the following fragment :
#include <spu_intrinsics.h>
vector unsigned int f() {
return spu_splats( (unsigned int)7 );
}
Compiling with spu-elf-gcc is fine. Compiling with spu-elf-g++ generates an
error:
$ usr/bin/spu-elf-g++ -c splat.cpp
splat.cpp: In function 'unsigned int __vector__ f()':
splat.cpp:3: note: use -flax-vector-conversions to permit conversions between
vectors with differing element types or numbers of subparts
splat.cpp:3: error: cannot convert 'unsigned char __vector__' to 'unsigned int
__vector__' in return
Replacing spu_splats with __builtin_spu_splats_4 allows the fragment to be
compiled correctly.
Observed with r137813.
Compiles as expected in :
gcc version 4.4.0 20080404 (experimental)
gcc version 4.3.0 20071012 (experimental)
gcc version 4.1.1 (IBM SDK 3.0 release)
--
Summary: Return type of spu_splats is not deduced correctly
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jadamcze at utas dot edu dot au
GCC target triplet: spu-elf
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36837