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 eb8fd20..8f460dc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-11-18 Andreas Schwab <schwab@suse.de> + + * config/i386/i386.md (define_peephole2): Revert last change. + 2004-11-18 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.comn> * config/m32r/linux.h (TARGET_ASM_FILE_END): Set diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index bed44e9..abc1cb8 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -1866,11 +1866,12 @@ ;; We need to define this as both peepholer and splitter for case ;; peephole2 pass is not run. +;; "&& 1" is needed to keep it from matching the previous pattern. (define_peephole2 [(set (match_operand:DI 0 "push_operand" "") (match_operand:DI 1 "immediate_operand" ""))] "TARGET_64BIT && !symbolic_operand (operands[1], DImode) - && !x86_64_immediate_operand (operands[1], DImode)" + && !x86_64_immediate_operand (operands[1], DImode) && 1" [(set (match_dup 0) (match_dup 1)) (set (match_dup 2) (match_dup 3))] "split_di (operands + 1, 1, operands + 2, operands + 3); @@ -2132,11 +2133,12 @@ ;; We need to define this as both peepholer and splitter for case ;; peephole2 pass is not run. +;; "&& 1" is needed to keep it from matching the previous pattern. (define_peephole2 [(set (match_operand:DI 0 "memory_operand" "") (match_operand:DI 1 "immediate_operand" ""))] "TARGET_64BIT && !symbolic_operand (operands[1], DImode) - && !x86_64_immediate_operand (operands[1], DImode)" + && !x86_64_immediate_operand (operands[1], DImode) && 1" [(set (match_dup 2) (match_dup 3)) (set (match_dup 4) (match_dup 5))] "split_di (operands, 2, operands + 2, operands + 4);") |