i386.md (*zero_extendsidi2): Mark movd alternatives SSE2 only.
authorUros Bizjak <uros@gcc.gnu.org>
Thu, 14 Jun 2012 18:51:36 +0000 (20:51 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Thu, 14 Jun 2012 18:51:36 +0000 (20:51 +0200)
* config/i386/i386.md (*zero_extendsidi2): Mark movd alternatives
SSE2 only.  Remove x,x alternative.
(*zero_extendsidi2_rex64): Ditto.

From-SVN: r188630

gcc/ChangeLog
gcc/config/i386/i386.md

index dc9135d17fda301db90408f28b78dc0b8e4fb3a9..1e6d89f9beff3e23f87d2f4e1d1eb85d4ed51b2f 100644 (file)
@@ -1,3 +1,9 @@
+2012-06-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*zero_extendsidi2): Mark movd alternatives
+       SSE2 only.  Remove x,x alternative.
+       (*zero_extendsidi2_rex64): Ditto.
+
 2012-06-14  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/53639
@@ -82,7 +88,7 @@
 
 2012-06-14  Sandeep Kumar Singh  <Sandeep.Singh2@kpitcummins.com>
 
-       * config/h8300/genmova.sh: Modified to add offset bits of 
+       * config/h8300/genmova.sh: Modified to add offset bits of
        mova/Sz assembly instruction for memory access.
        * config/h8300/h8300.c: Likewise.
        * config/h8300/mova.md: Likewise.
        (read_rtx): Remove mode maps.  Truncate iterator and attribute uses.
        (read_rtx_code, read_nested_rtx, read_rtx_variadic): Remove mode_maps
        parameter.  Use the first code iterator value instead of the
-       bellwether_codes array.  Use record_potential_iterator_use
-       for modes.
+       bellwether_codes array.  Use record_potential_iterator_use for modes.
 
 2012-06-13  Oleg Endo  <olegendo@gcc.gnu.org>
 
index 6135de9ce99ebb0b9e98ad822df20d5a1ddf219a..9b267eb2fcc3f0dae4c67ee0614701e77b6779a2 100644 (file)
 
 (define_insn "*zero_extendsidi2_rex64"
   [(set (match_operand:DI 0 "nonimmediate_operand"
-                       "=r  ,o,?*Ym,?*y,?*Yi,!*x")
+                       "=r  ,o,?*Ym,?*y,?*Yi,?*x")
        (zero_extend:DI
         (match_operand:SI 1 "x86_64_zext_general_operand"
-                       "rmWz,0,r   ,m  ,r   ,m*x")))]
+                       "rmWz,0,r   ,m  ,r   ,m")))]
   "TARGET_64BIT"
   "@
    mov{l}\t{%1, %k0|%k0, %1}
    movd\t{%1, %0|%0, %1}
    %vmovd\t{%1, %0|%0, %1}
    %vmovd\t{%1, %0|%0, %1}"
-  [(set_attr "isa" "*,*,*,*,*,sse2")
+  [(set_attr "isa" "*,*,sse2,sse2,sse2,sse2")
    (set_attr "type" "imovx,multi,mmxmov,mmxmov,ssemov,ssemov")
    (set_attr "prefix" "orig,*,orig,orig,maybe_vex,maybe_vex")
    (set_attr "prefix_0f" "0,*,*,*,*,*")
 
 (define_insn "*zero_extendsidi2"
   [(set (match_operand:DI 0 "nonimmediate_operand"
-                       "=ro,?r,?o,?*Ym,?*y,?*Yi,!*x")
+                       "=ro,?r,?o,?*Ym,?*y,?*Yi,?*x")
        (zero_extend:DI (match_operand:SI 1 "nonimmediate_operand"
-                       "0  ,rm,r ,r   ,m  ,r   ,m*x")))]
+                       "0  ,rm,r ,r   ,m  ,r   ,m")))]
   "!TARGET_64BIT"
   "@
    #
    movd\t{%1, %0|%0, %1}
    %vmovd\t{%1, %0|%0, %1}
    %vmovd\t{%1, %0|%0, %1}"
-  [(set_attr "isa" "*,*,*,*,*,*,sse2")
+  [(set_attr "isa" "*,*,*,sse2,sse2,sse2,sse2")
    (set_attr "type" "multi,multi,multi,mmxmov,mmxmov,ssemov,ssemov")
    (set_attr "prefix" "*,*,*,orig,orig,maybe_vex,maybe_vex")
    (set_attr "mode" "SI,SI,SI,DI,DI,TI,TI")])