diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1d6667b..947fccc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Thu Oct 3 15:15:00 CEST 2002 Jan Hubicka <jh@suse.cz> + + * i386.md (lea to mul peep2): Fix condition. + 2002-10-02 John David Anglin <dave@hiauly1.hia.nrc.ca> * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index f616ed2..a89f025 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -163,7 +163,9 @@ sse,ssemov,sseadd,ssemul,ssecmp,ssecvt,ssediv") (const_string "sse") (eq_attr "type" "mmx,mmxmov,mmxadd,mmxmul,mmxcmp,mmxcvt,mmxshft") - (const_string "mmx")] + (const_string "mmx") + (eq_attr "type" "other") + (const_string "unknown")] (const_string "integer"))) ;; The (bounding maximum) length of an instruction immediate. @@ -17327,7 +17329,7 @@ [(set (match_operand:SI 0 "register_operand" "") (subreg:SI (mult:DI (match_operand:DI 1 "register_operand" "") (match_operand:DI 2 "const_int_operand" "")) 0))] - "exact_log2 (INTVAL (operands[1])) >= 0 + "exact_log2 (INTVAL (operands[2])) >= 0 && REGNO (operands[0]) == REGNO (operands[1]) && peep2_regno_dead_p (0, FLAGS_REG)" [(parallel [(set (match_dup 0) (ashift:SI (match_dup 0) (match_dup 2))) |