diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2014-12-10 19:32:15 +0100 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2014-12-10 19:32:15 +0100 |
commit | d262c86cc9dcc93ce1607100214e46e67783a6b6 (patch) | |
tree | 290f2ec8654b12cdbd931b82385bcb71e5950f7f /gcc | |
parent | 79cdc851c5a9c3b1fbc428a16a915fb80eb4111b (diff) | |
download | gcc-d262c86cc9dcc93ce1607100214e46e67783a6b6.zip gcc-d262c86cc9dcc93ce1607100214e46e67783a6b6.tar.gz gcc-d262c86cc9dcc93ce1607100214e46e67783a6b6.tar.bz2 |
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')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 9 |
2 files changed, 9 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 63479fb..42afb65 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,6 +1,12 @@ 2014-12-10 Segher Boessenkool <segher@kernel.crashing.org> PR target/64180 + * config/rs6000/rs6000.md (*add<mode>3_internal1): Remove addic + alternative. + +2014-12-10 Segher Boessenkool <segher@kernel.crashing.org> + + PR target/64180 * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2, *ctr<mode>_internal5, *ctr<mode>_internal6): Change "r" alternatives to "b". Increase length. diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index c11c31a..7a74755 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")]) |