This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/23546] [4.0/4.1 Regression] ICE in for_each_index, at tree-ssa-loop-im.c:202
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 Aug 2005 12:35:04 -0000
- Subject: [Bug tree-optimization/23546] [4.0/4.1 Regression] ICE in for_each_index, at tree-ssa-loop-im.c:202
- References: <20050824115541.23546.ma1flfs@bath.ac.uk>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-24 12:35 -------
This was exposed by:
2005-08-23 Paolo Bonzini <bonzini@gnu.org>
PR middle-end/23517
* fold-const.c (fold_convert): Use VIEW_CONVERT_EXPR to convert
between vectors.
* convert.c (convert_to_integer, convert_to_vector): Likewise.
Reduced testcase:
typedef int __m64 __attribute__ ((__vector_size__ (8)));
typedef char __v8qi __attribute__ ((__vector_size__ (8)));
static __inline __m64 _mm_cvtsi32_si64 (int __i) {
}
static __inline __m64 _mm_unpacklo_pi8 (__m64 __m1, __m64 __m2) {
return (__m64) __builtin_ia32_punpcklbw ((__v8qi)__m1, (__v8qi)__m2);
}
static __inline __m64 _mm_setzero_si64 (void) {
return (__m64)0LL;
}
typedef unsigned long CARD32;
static __inline__ __m64 load8888 (CARD32 v) {
return _mm_unpacklo_pi8 (_mm_cvtsi32_si64 (v), _mm_setzero_si64());
}
__attribute__((regparm(3))) void mmxCombineMaskU (CARD32 *src, const CARD32 *mask, int
width) {
const CARD32 *end = mask + width;
while (mask < end) {
__m64 a = load8888(*mask);
++mask;
}
}
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |rakdver at gcc dot gnu dot
| |org, bonzini at gcc dot gnu
| |dot org
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Known to work|3.4.0 |3.4.0 4.0.0
Last reconfirmed|0000-00-00 00:00:00 |2005-08-24 12:35:03
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23546