This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/10735] ICE on correct type conversion with vector
- From: "reichelt at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Jul 2005 09:02:20 -0000
- Subject: [Bug c/10735] ICE on correct type conversion with vector
- References: <20030510221601.10735.shurick@pisem.net>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From reichelt at gcc dot gnu dot org 2005-07-21 09:02 -------
The testcase from comment #2 still crashes on mainline:
bug.c:1: warning: specifying vector types with __attribute__ ((mode)) is
deprecated
bug.c:1: warning: use __attribute__ ((vector_size)) instead
bug.c: In function 'test':
bug.c:7: internal compiler error: tree check: expected integer_type or
enumeral_type or boolean_type or char_type or real_type, have vector_type in
shorten_compare, at c-common.c:2002
Please submit a full bug report, [etc.]
Well, the testcase could be improved a little:
__v4hi should actually look like this:
typedef short __v4hi __attribute__ ((__vector_size__ (8)));
and the if statement has no real effect.
So here's a new proposed testcase:
=====================================================
typedef short v4hi __attribute__((vector_size(8)));
int foo()
{
v4hi v;
return (long long)v != 0;
}
=====================================================
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10735