File gcc-amdfam10-suse-7.patch of Package gcc41
Index: gcc/config/i386/athlon.md
===================================================================
--- gcc/config/i386/athlon.md.orig 2009-11-20 13:42:49.000000000 +0100
+++ gcc/config/i386/athlon.md 2009-11-20 13:42:50.000000000 +0100
@@ -1042,3 +1042,8 @@
(and (eq_attr "cpu" "amdfam10")
(eq_attr "type" "ssediv"))
"athlon-direct,athlon-fmul*17")
+(define_insn_reservation "athlon_sseins_amdfam10" 5
+ (and (eq_attr "cpu" "amdfam10")
+ (and (eq_attr "type" "sseins")
+ (eq_attr "mode" "TI")))
+ "athlon-vector,athlon-fpsched,athlon-faddmul")
Index: gcc/config/i386/i386.md
===================================================================
--- gcc/config/i386/i386.md.orig 2009-11-20 13:42:49.000000000 +0100
+++ gcc/config/i386/i386.md 2009-11-20 13:42:50.000000000 +0100
@@ -215,7 +215,7 @@
str,cld,
fmov,fop,fsgn,fmul,fdiv,fpspc,fcmov,fcmp,fxch,fistp,fisttp,frndint,
sselog,sselog1,sseiadd,sseishft,sseimul,
- sse,ssemov,sseadd,ssemul,ssecmp,ssecomi,ssecvt,sseicvt,ssediv,
+ sse,ssemov,sseadd,ssemul,ssecmp,ssecomi,ssecvt,sseicvt,ssediv,sseins,
mmx,mmxmov,mmxadd,mmxmul,mmxcmp,mmxcvt,mmxshft"
(const_string "other"))
@@ -229,7 +229,7 @@
(cond [(eq_attr "type" "fmov,fop,fsgn,fmul,fdiv,fpspc,fcmov,fcmp,fxch,fistp,fisttp,frndint")
(const_string "i387")
(eq_attr "type" "sselog,sselog1,sseiadd,sseishft,sseimul,
- sse,ssemov,sseadd,ssemul,ssecmp,ssecomi,ssecvt,sseicvt,ssediv")
+ sse,ssemov,sseadd,ssemul,ssecmp,ssecomi,ssecvt,sseicvt,ssediv,sseins")
(const_string "sse")
(eq_attr "type" "mmx,mmxmov,mmxadd,mmxmul,mmxcmp,mmxcvt,mmxshft")
(const_string "mmx")
Index: gcc/config/i386/sse.md
===================================================================
--- gcc/config/i386/sse.md.orig 2009-11-20 13:42:49.000000000 +0100
+++ gcc/config/i386/sse.md 2009-11-20 13:42:50.000000000 +0100
@@ -4572,7 +4572,7 @@
{
return "insertq\t{%4, %3, %2, %0|%0, %2, %3, %4}";
}
- [(set_attr "type" "sse")
+ [(set_attr "type" "sseins")
(set_attr "mode" "TI")])
(define_insn "sse4a_insertq"
@@ -4584,7 +4584,7 @@
{
return "insertq\t{%2, %0|%0, %2}";
}
- [(set_attr "type" "sse")
+ [(set_attr "type" "sseins")
(set_attr "mode" "TI")])
(define_insn "sse3_monitor64"