Index: gcc/config/i386/atom.md
===================================================================
--- gcc/config/i386/atom.md	(revision 193132)
+++ gcc/config/i386/atom.md	(working copy)
@@ -455,6 +455,30 @@
             (eq_attr "memory" "!none")))
   "atom-simple-0")

+(define_insn_reservation  "atom_sseshuf" 1
+  (and (eq_attr "cpu" "atom")
+       (and (eq_attr "type" "sseshuf")
+            (eq_attr "memory" "none")))
+  "atom-simple-either")
+
+(define_insn_reservation  "atom_sseshuf_mem" 1
+  (and (eq_attr "cpu" "atom")
+       (and (eq_attr "type" "sseshuf")
+            (eq_attr "memory" "!none")))
+  "atom-simple-either")
+
+(define_insn_reservation  "atom_sseshuf1" 1
+  (and (eq_attr "cpu" "atom")
+       (and (eq_attr "type" "sseshuf1")
+            (eq_attr "memory" "none")))
+  "atom-simple-0")
+
+(define_insn_reservation  "atom_sseshuf1_mem" 1
+  (and (eq_attr "cpu" "atom")
+       (and (eq_attr "type" "sseshuf1")
+            (eq_attr "memory" "!none")))
+  "atom-simple-0")
+
 ;; not pmad, not psad
 (define_insn_reservation  "atom_sseiadd" 1
   (and (eq_attr "cpu" "atom")

This was not what I had in mind for changes in existing .md files.
Just change them in this way:

Index: atom.md
===================================================================
--- atom.md     (revision 193407)
+++ atom.md     (working copy)
@@ -594,7 +594,7 @@
 ;; no memory simple
 (define_insn_reservation  "atom_sseadd" 5
   (and (eq_attr "cpu" "atom")
-       (and (eq_attr "type" "sseadd,sseadd1")
+       (and (eq_attr "type" "sseadd,sseshuf,sseadd1,sseshuf1")
             (and (eq_attr "memory" "none")
                  (and (eq_attr "mode" "!V2DF")
                       (eq_attr "atom_unit" "!complex")))))
@@ -603,7 +603,7 @@
 ;; memory simple
 (define_insn_reservation  "atom_sseadd_mem" 5
   (and (eq_attr "cpu" "atom")
-       (and (eq_attr "type" "sseadd,sseadd1")
+       (and (eq_attr "type" "sseadd,sseshuf,sseadd1,sseshuf1")
             (and (eq_attr "memory" "!none")
                  (and (eq_attr "mode" "!V2DF")
                       (eq_attr "atom_unit" "!complex")))))
@@ -612,7 +612,7 @@
 ;; maxps, minps, *pd, hadd, hsub
 (define_insn_reservation  "atom_sseadd_3" 8
   (and (eq_attr "cpu" "atom")
-       (and (eq_attr "type" "sseadd,sseadd1")
+       (and (eq_attr "type" "sseadd,sseshuf,sseadd1,sseshuf1")
             (ior (eq_attr "mode" "V2DF") (eq_attr "atom_unit" "complex"))))
   "atom-complex, atom-all-eu*7")

