diff options
Diffstat (limited to 'gcc/config/rs6000/rs6000.md')
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 3fdb165dd41..7fd210d9d1d 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -12670,25 +12670,25 @@ "") (define_insn_and_split "" - [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r") + [(set (match_operand:SI 0 "gpc_reg_operand" "=&r,r") (plus:SI (ltu:SI (match_operand:SI 1 "gpc_reg_operand" "r,r") (match_operand:SI 2 "reg_or_neg_short_operand" "r,P")) (match_operand:SI 3 "reg_or_short_operand" "rI,rI")))] "TARGET_32BIT" "#" - "TARGET_32BIT" + "&& !reg_overlap_mentioned_p (operands[0], operands[3])" [(set (match_dup 0) (neg:SI (ltu:SI (match_dup 1) (match_dup 2)))) (set (match_dup 0) (minus:SI (match_dup 3) (match_dup 0)))] "") (define_insn_and_split "" - [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r") + [(set (match_operand:DI 0 "gpc_reg_operand" "=&r,r") (plus:DI (ltu:DI (match_operand:DI 1 "gpc_reg_operand" "r,r") (match_operand:DI 2 "reg_or_neg_short_operand" "r,P")) (match_operand:DI 3 "reg_or_short_operand" "rI,rI")))] "TARGET_64BIT" "#" - "TARGET_64BIT" + "&& !reg_overlap_mentioned_p (operands[0], operands[3])" [(set (match_dup 0) (neg:DI (ltu:DI (match_dup 1) (match_dup 2)))) (set (match_dup 0) (minus:DI (match_dup 3) (match_dup 0)))] "") @@ -13628,25 +13628,25 @@ "") (define_insn_and_split "" - [(set (match_operand:SI 0 "gpc_reg_operand" "=r") + [(set (match_operand:SI 0 "gpc_reg_operand" "=&r") (plus:SI (gtu:SI (match_operand:SI 1 "gpc_reg_operand" "r") (match_operand:SI 2 "reg_or_short_operand" "rI")) (match_operand:SI 3 "reg_or_short_operand" "rI")))] "TARGET_32BIT" "#" - "TARGET_32BIT" + "&& !reg_overlap_mentioned_p (operands[0], operands[3])" [(set (match_dup 0) (neg:SI (gtu:SI (match_dup 1) (match_dup 2)))) (set (match_dup 0) (minus:SI (match_dup 3) (match_dup 0)))] "") (define_insn_and_split "" - [(set (match_operand:DI 0 "gpc_reg_operand" "=r") + [(set (match_operand:DI 0 "gpc_reg_operand" "=&r") (plus:DI (gtu:DI (match_operand:DI 1 "gpc_reg_operand" "r") (match_operand:DI 2 "reg_or_short_operand" "rI")) (match_operand:DI 3 "reg_or_short_operand" "rI")))] "TARGET_64BIT" "#" - "TARGET_64BIT" + "&& !reg_overlap_mentioned_p (operands[0], operands[3])" [(set (match_dup 0) (neg:DI (gtu:DI (match_dup 1) (match_dup 2)))) (set (match_dup 0) (minus:DI (match_dup 3) (match_dup 0)))] "") |