i386.md (movsi_1, [...]): Use mmxadd type for setting MMX register to 0 rather than mmx.
* config/i386/i386.md (movsi_1, movdi_1_rex64): Use mmxadd type for setting MMX register to 0 rather than mmx. * g++.dg/opt/mmx2.C: New test. From-SVN: r105230
This commit is contained in:
parent
4bff36d306
commit
eef9096257
|
@ -1,3 +1,8 @@
|
|||
2005-10-11 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* config/i386/i386.md (movsi_1, movdi_1_rex64): Use mmxadd type
|
||||
for setting MMX register to 0 rather than mmx.
|
||||
|
||||
2005-10-10 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
PR target/12098
|
||||
|
|
|
@ -1193,7 +1193,7 @@
|
|||
}
|
||||
[(set (attr "type")
|
||||
(cond [(eq_attr "alternative" "2")
|
||||
(const_string "mmx")
|
||||
(const_string "mmxadd")
|
||||
(eq_attr "alternative" "3,4,5")
|
||||
(const_string "mmxmov")
|
||||
(eq_attr "alternative" "6")
|
||||
|
@ -2007,7 +2007,7 @@
|
|||
}
|
||||
[(set (attr "type")
|
||||
(cond [(eq_attr "alternative" "5")
|
||||
(const_string "mmx")
|
||||
(const_string "mmxadd")
|
||||
(eq_attr "alternative" "6,7,8")
|
||||
(const_string "mmxmov")
|
||||
(eq_attr "alternative" "9")
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2005-10-11 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* g++.dg/opt/mmx2.C: New test.
|
||||
|
||||
2005-10-10 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/24277
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
// { dg-do link { target i?86-*-* x86_64-*-* } }
|
||||
// { dg-options "-O2 -mmmx" }
|
||||
|
||||
#include <mmintrin.h>
|
||||
|
||||
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;
|
||||
}
|
Loading…
Reference in New Issue