re PR c/6290 (ICE compiling altivec code with 3.1)
PR c/6290 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the CONST_VECTOR is { 0, ... 0 }. From-SVN: r52339
This commit is contained in:
parent
06cc8947d0
commit
7643ba8fca
|
@ -1,3 +1,9 @@
|
|||
2002-04-16 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c/6290
|
||||
* config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
|
||||
CONST_VECTOR is { 0, ... 0 }.
|
||||
|
||||
2002-04-15 Loren J. Rittle <ljrittle@acm.org>
|
||||
|
||||
* doc/install.texi (Installing GCC: Configuration): Clarify
|
||||
|
|
|
@ -1221,18 +1221,24 @@ easy_vector_constant (op)
|
|||
with CONST0_RTX for the current mode, but let's be safe
|
||||
instead. */
|
||||
|
||||
if (GET_CODE (elt) == CONST_INT && INTVAL (elt) != 0)
|
||||
return 0;
|
||||
|
||||
if (GET_CODE (elt) == CONST_DOUBLE
|
||||
&& (CONST_DOUBLE_LOW (elt) != 0
|
||||
|| CONST_DOUBLE_HIGH (elt) != 0))
|
||||
return 0;
|
||||
switch (GET_CODE (elt))
|
||||
{
|
||||
case CONST_INT:
|
||||
if (INTVAL (elt) != 0)
|
||||
return 0;
|
||||
break;
|
||||
case CONST_DOUBLE:
|
||||
if (CONST_DOUBLE_LOW (elt) != 0 || CONST_DOUBLE_HIGH (elt) != 0)
|
||||
return 0;
|
||||
break;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* We could probably generate a few other constants trivially, but
|
||||
gcc doesn't generate them yet. FIXME later. */
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Return 1 if the operand is the constant 0. This works for scalars
|
||||
|
|
Loading…
Reference in New Issue