From bdfd20262bb831821d0f4a9daadc126f54b10521 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Thu, 7 Aug 2008 16:55:32 +0200 Subject: [PATCH] re PR target/37048 (Revision 138835 breaks bootstrap) PR target/37048 * i386.md (single stringop patterns): Enable unconditionally. From-SVN: r138841 --- gcc/ChangeLog | 5 +++++ gcc/config/i386/i386.md | 30 +++++++++++++++--------------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index de3eecdba17..3b34da2aa7f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2008-08-07 Jan Hubicka + + PR target/37048 + * i386.md (single stringop patterns): Enable unconditionally. + 2008-08-07 H.J. Lu PR target/36992 diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 1321fed647b..ddd545d30d0 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -18652,7 +18652,7 @@ (set (match_operand:DI 1 "register_operand" "=S") (plus:DI (match_dup 3) (const_int 8)))] - "TARGET_64BIT && TARGET_SINGLE_STRINGOP" + "TARGET_64BIT" "movsq" [(set_attr "type" "str") (set_attr "mode" "DI") @@ -18667,7 +18667,7 @@ (set (match_operand:SI 1 "register_operand" "=S") (plus:SI (match_dup 3) (const_int 4)))] - "!TARGET_64BIT && TARGET_SINGLE_STRINGOP" + "!TARGET_64BIT" "movs{l|d}" [(set_attr "type" "str") (set_attr "mode" "SI") @@ -18682,7 +18682,7 @@ (set (match_operand:DI 1 "register_operand" "=S") (plus:DI (match_dup 3) (const_int 4)))] - "TARGET_64BIT && TARGET_SINGLE_STRINGOP" + "TARGET_64BIT" "movs{l|d}" [(set_attr "type" "str") (set_attr "mode" "SI") @@ -18697,7 +18697,7 @@ (set (match_operand:SI 1 "register_operand" "=S") (plus:SI (match_dup 3) (const_int 2)))] - "!TARGET_64BIT && TARGET_SINGLE_STRINGOP" + "!TARGET_64BIT" "movsw" [(set_attr "type" "str") (set_attr "memory" "both") @@ -18712,7 +18712,7 @@ (set (match_operand:DI 1 "register_operand" "=S") (plus:DI (match_dup 3) (const_int 2)))] - "TARGET_64BIT && TARGET_SINGLE_STRINGOP" + "TARGET_64BIT" "movsw" [(set_attr "type" "str") (set_attr "memory" "both") @@ -18727,7 +18727,7 @@ (set (match_operand:SI 1 "register_operand" "=S") (plus:SI (match_dup 3) (const_int 1)))] - "!TARGET_64BIT && TARGET_SINGLE_STRINGOP" + "!TARGET_64BIT" "movsb" [(set_attr "type" "str") (set_attr "memory" "both") @@ -18742,7 +18742,7 @@ (set (match_operand:DI 1 "register_operand" "=S") (plus:DI (match_dup 3) (const_int 1)))] - "TARGET_64BIT && TARGET_SINGLE_STRINGOP" + "TARGET_64BIT" "movsb" [(set_attr "type" "str") (set_attr "memory" "both") @@ -18917,7 +18917,7 @@ (match_operand 2 "register_operand" "")) (set (match_operand 0 "register_operand" "") (match_operand 3 "" ""))])] - "TARGET_SINGLE_STRINGOP" + "" "ix86_current_function_needs_cld = 1;") (define_insn "*strsetdi_rex_1" @@ -18926,7 +18926,7 @@ (set (match_operand:DI 0 "register_operand" "=D") (plus:DI (match_dup 1) (const_int 8)))] - "TARGET_64BIT && TARGET_SINGLE_STRINGOP" + "TARGET_64BIT" "stosq" [(set_attr "type" "str") (set_attr "memory" "store") @@ -18938,7 +18938,7 @@ (set (match_operand:SI 0 "register_operand" "=D") (plus:SI (match_dup 1) (const_int 4)))] - "!TARGET_64BIT && TARGET_SINGLE_STRINGOP" + "!TARGET_64BIT" "stos{l|d}" [(set_attr "type" "str") (set_attr "memory" "store") @@ -18950,7 +18950,7 @@ (set (match_operand:DI 0 "register_operand" "=D") (plus:DI (match_dup 1) (const_int 4)))] - "TARGET_64BIT && TARGET_SINGLE_STRINGOP" + "TARGET_64BIT" "stos{l|d}" [(set_attr "type" "str") (set_attr "memory" "store") @@ -18962,7 +18962,7 @@ (set (match_operand:SI 0 "register_operand" "=D") (plus:SI (match_dup 1) (const_int 2)))] - "!TARGET_64BIT && TARGET_SINGLE_STRINGOP" + "!TARGET_64BIT" "stosw" [(set_attr "type" "str") (set_attr "memory" "store") @@ -18974,7 +18974,7 @@ (set (match_operand:DI 0 "register_operand" "=D") (plus:DI (match_dup 1) (const_int 2)))] - "TARGET_64BIT && TARGET_SINGLE_STRINGOP" + "TARGET_64BIT" "stosw" [(set_attr "type" "str") (set_attr "memory" "store") @@ -18986,7 +18986,7 @@ (set (match_operand:SI 0 "register_operand" "=D") (plus:SI (match_dup 1) (const_int 1)))] - "!TARGET_64BIT && TARGET_SINGLE_STRINGOP" + "!TARGET_64BIT" "stosb" [(set_attr "type" "str") (set_attr "memory" "store") @@ -18998,7 +18998,7 @@ (set (match_operand:DI 0 "register_operand" "=D") (plus:DI (match_dup 1) (const_int 1)))] - "TARGET_64BIT && TARGET_SINGLE_STRINGOP" + "TARGET_64BIT" "stosb" [(set_attr "type" "str") (set_attr "memory" "store")