re PR rtl-optimization/8178 (__builtin_ffs broken with -march=k6)
authorEric Botcazou <ebotcazou@libertysurf.fr>
Sat, 18 Oct 2003 07:24:59 +0000 (09:24 +0200)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Sat, 18 Oct 2003 07:24:59 +0000 (07:24 +0000)
PR optimization/8178
* config/i386/i386.md (*movsi_zero): New insn to set
a register to zero on TARGET_USE_MOV0 targets.

From-SVN: r72634

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

index a610747877a81d43147866119af0fd32ce004c11..b89036c3639331ab43b89af22ebae9a321a7bca6 100644 (file)
@@ -1,3 +1,9 @@
+2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR optimization/8178
+       * config/i386/i386.md (*movsi_zero): New insn to set
+       a register to zero on TARGET_USE_MOV0 targets.
+
 2003-10-18  Kelley Cook  <kcook@gcc.gnu.org>
 
        * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
@@ -16,7 +22,6 @@
        * doc/install.texi: Document that zsh does not work when 
        configuring gcc.
 
-
 2003-10-17  Nathanael Nerode  <neroden@gcc.gnu.org>
 
        * config/ptx4.h: Switch to DWARF 2; update comments.
index 39a8a2cc8c70b93fea67f7fd1d12ddc3e48c0f8f..c79f1ddd5f00cef75bfd77462a35ba4e42bd3c2c 100644 (file)
    (set_attr "mode" "SI")
    (set_attr "length_immediate" "0")])
 
+(define_insn "*movsi_zero"
+  [(set (match_operand:SI 0 "register_operand" "=r")
+       (match_operand:SI 1 "const0_operand" "i"))
+   (clobber (reg:CC 17))]
+  "reload_completed && (TARGET_USE_MOV0 && !optimize_size)"
+  "mov{l}\t{%1, %0|%0, %1}"
+  [(set_attr "type" "imov")
+   (set_attr "mode" "SI")])
 (define_insn "*movsi_or"
   [(set (match_operand:SI 0 "register_operand" "=r")
        (match_operand:SI 1 "immediate_operand" "i"))