summaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/rs6000.md
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2014-12-10 19:32:15 +0100
committerSegher Boessenkool <segher@gcc.gnu.org>2014-12-10 19:32:15 +0100
commitd262c86cc9dcc93ce1607100214e46e67783a6b6 (patch)
tree290f2ec8654b12cdbd931b82385bcb71e5950f7f /gcc/config/rs6000/rs6000.md
parent79cdc851c5a9c3b1fbc428a16a915fb80eb4111b (diff)
downloadgcc-d262c86cc9dcc93ce1607100214e46e67783a6b6.tar.gz
re PR target/64180 (PowerPC carry bit improvements)
PR target/64180 * config/rs6000/rs6000.md (*add<mode>3_internal1): Remove addic alternative. From-SVN: r218592
Diffstat (limited to 'gcc/config/rs6000/rs6000.md')
-rw-r--r--gcc/config/rs6000/rs6000.md9
1 files changed, 3 insertions, 6 deletions
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index c11c31a2f2d..7a7475583a5 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -1491,17 +1491,14 @@
}
})
-;; Discourage ai/addic because of carry but provide it in an alternative
-;; allowing register zero as source.
(define_insn "*add<mode>3_internal1"
- [(set (match_operand:GPR 0 "gpc_reg_operand" "=r,r,?r,r")
- (plus:GPR (match_operand:GPR 1 "gpc_reg_operand" "%r,b,r,b")
- (match_operand:GPR 2 "add_operand" "r,I,I,L")))]
+ [(set (match_operand:GPR 0 "gpc_reg_operand" "=r,r,r")
+ (plus:GPR (match_operand:GPR 1 "gpc_reg_operand" "%r,b,b")
+ (match_operand:GPR 2 "add_operand" "r,I,L")))]
"!DECIMAL_FLOAT_MODE_P (GET_MODE (operands[0])) && !DECIMAL_FLOAT_MODE_P (GET_MODE (operands[1]))"
"@
add %0,%1,%2
addi %0,%1,%2
- addic %0,%1,%2
addis %0,%1,%v2"
[(set_attr "type" "add")])