This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/25203] [4.0] enable checking failure in g++.dg/opt/mmx2.C
- From: "ghazi at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 3 Dec 2005 20:06:49 -0000
- Subject: [Bug target/25203] [4.0] enable checking failure in g++.dg/opt/mmx2.C
- References: <bug-25203-578@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #1 from ghazi at gcc dot gnu dot org 2005-12-03 20:06 -------
Here's a reduced testcase, configure 4.0.x with --enable-checking=yes,rtl
--target=i686-pc-linux-gnu and compile with:
cc1plus -fpreprocessed mmx2.ii -quiet -dumpbase mmx2.C -mmmx -mtune=pentiumpro
-auxbase mmx2 -O2 -version -fmessage-length=0 -o mmx2.s
typedef int __m64 __attribute__ ((__vector_size__ (8)));
static __inline void
_mm_empty (void)
{
__builtin_ia32_emms ();
}
static __inline __m64
_mm_set_pi32 (int __i1, int __i0)
{
return (__m64) __builtin_ia32_vec_init_v2si (__i0, __i1);
}
static union u { __m64 m; long long l; } u;
extern "C" void abort (void);
__attribute__((noinline))
void bar (__m64 x)
{
u.m = x;
}
int
main ()
{
bar (_mm_set_pi32 (0x000000FF,0xFFFF00FF));
_mm_empty ();
if (u.l != 0xffffff00ffLL)
abort ();
return 0;
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25203