[Bug c/10735] ICE on correct type conversion with vector

reichelt at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Jul 21 09:31:00 GMT 2005


------- 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



More information about the Gcc-bugs mailing list