diff options
author | Eric Botcazou <ebotcazou@libertysurf.fr> | 2003-10-18 09:24:59 +0200 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2003-10-18 07:24:59 +0000 |
commit | 67e53009556d04f437d5b855dc50fde37afcf124 (patch) | |
tree | a37c094ae2576d1dae8b8ad10af0cef3f19e97d3 | |
parent | fca086c1ab9c5293dea84494a6a1d51fd51b41af (diff) | |
download | gcc-67e53009556d04f437d5b855dc50fde37afcf124.zip gcc-67e53009556d04f437d5b855dc50fde37afcf124.tar.gz gcc-67e53009556d04f437d5b855dc50fde37afcf124.tar.bz2 |
re PR rtl-optimization/8178 (__builtin_ffs broken with -march=k6)
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
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 9 |
2 files changed, 15 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a610747..b89036c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 39a8a2c..c79f1dd 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -1162,6 +1162,15 @@ (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")) |