diff options
author | Eric Botcazou <ebotcazou@libertysurf.fr> | 2003-10-19 19:53:11 +0200 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2003-10-19 17:53:11 +0000 |
commit | 707e58b1a72bcb33fdd7cbd50833599c53f74652 (patch) | |
tree | cc9b17390a135efcbc70252bf3035735ec6822bb /gcc | |
parent | 8f4c7b679cee153ac12b9d9bb9bce4d68b43d71f (diff) | |
download | gcc-707e58b1a72bcb33fdd7cbd50833599c53f74652.zip gcc-707e58b1a72bcb33fdd7cbd50833599c53f74652.tar.gz gcc-707e58b1a72bcb33fdd7cbd50833599c53f74652.tar.bz2 |
re PR rtl-optimization/8178 (__builtin_ffs broken with -march=k6)
PR optimization/8178
* config/i386/i386.md (*movsi_zero): Delete.
(*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r72680
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 14 |
2 files changed, 9 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 332704f..f82fa3d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2003-10-19 Eric Botcazou <ebotcazou@libertysurf.fr> + Richard Henderson <rth@redhat.com> + + PR optimization/8178 + * config/i386/i386.md (*movsi_zero): Delete. + (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand. + 2003-10-19 Richard Henderson <rth@redhat.com> * config/alpha/alpha.c (fix_operator): New. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index c79f1dd..65c5f0d 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -1161,15 +1161,6 @@ [(set_attr "type" "alu1") (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") @@ -14464,9 +14455,7 @@ "" "#" "reload_completed" - [(parallel [(set (match_dup 2) (const_int 0)) - (clobber (reg:CC 17))]) - (parallel [(set (reg:CCZ 17) (compare:CCZ (match_dup 1) (const_int 0))) + [(parallel [(set (reg:CCZ 17) (compare:CCZ (match_dup 1) (const_int 0))) (set (match_dup 0) (ctz:SI (match_dup 1)))]) (set (strict_low_part (match_dup 3)) (eq:QI (reg:CCZ 17) (const_int 0))) @@ -14478,6 +14467,7 @@ (clobber (reg:CC 17))])] { operands[3] = gen_lowpart (QImode, operands[2]); + ix86_expand_clear (operands[2]); }) (define_insn "*ffssi_1" |