[Bug target/17767] [3.4/4.0 Regression] MMX intrinsics cause internal compiler error
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Oct 1 13:32:00 GMT 2004
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-10-01 13:32 -------
: Search converges between 2004-01-01-trunk (#437) and 2004-01-17-trunk (#438).
Confirmed, a regression from 3.3.3.
Self contained example:
typedef int __m64 __attribute__ ((vector_size (8)));
typedef int __v2si __attribute__ ((vector_size (8)));
typedef short __v4hi __attribute__ ((vector_size (8)));
typedef char __v8qi __attribute__ ((vector_size (8)));
static __inline __m64
_mm_subs_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_psubsw ((__v4hi)__m1, (__v4hi)__m2);
}
static __inline __m64
_m_psubsw (__m64 __m1, __m64 __m2)
{
return _mm_subs_pi16 (__m1, __m2);
}
static __inline __m64
_mm_cmpeq_pi16 (__m64 __m1, __m64 __m2)
{
return (__m64) __builtin_ia32_pcmpeqw ((__v4hi)__m1, (__v4hi)__m2);
}
static __inline __m64
_m_pcmpeqw (__m64 __m1, __m64 __m2)
{
return _mm_cmpeq_pi16 (__m1, __m2);
}
void bar()
{
for (int i=0;i<4;i++)
{
__m64 m2, m3, m5;
m3 = _m_pcmpeqw(m3,m3);
m2 = _m_psubsw(m2,m5);
m5 = _m_psubsw(m5,m3);
*((__m64*)0) = m2;
}
}
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Known to fail| |4.0.0 3.4.0
Known to work| |3.3.3
Last reconfirmed|0000-00-00 00:00:00 |2004-10-01 13:32:32
date| |
Summary|MMX intrinsics cause |[3.4/4.0 Regression] MMX
|internal compiler error |intrinsics cause internal
| |compiler error
Target Milestone|--- |4.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17767
More information about the Gcc-bugs
mailing list