diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2014-09-09 20:49:08 +0200 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2014-09-09 20:49:08 +0200 |
commit | 4abf82644ee3d501ab3b2c0e18f28ba888a6f2c3 (patch) | |
tree | 6b3a9744138f834c4335f068d4c37f5dfc83f924 | |
parent | fd18c76ac8c85976bd7fe413aca2c26296ca6d54 (diff) | |
download | gcc-4abf82644ee3d501ab3b2c0e18f28ba888a6f2c3.zip gcc-4abf82644ee3d501ab3b2c0e18f28ba888a6f2c3.tar.gz gcc-4abf82644ee3d501ab3b2c0e18f28ba888a6f2c3.tar.bz2 |
re PR target/63195 (stage3 build/gengtype miscompiled)
2014-09-09 Segher Boessenkool <segher@kernel.crashing.org>
PR target/63195
* config/rs6000/rs6000.md (*bool<mode>3): Allow only register
operands. Split off the constant operand alternative to ...
(*bool<mode>3_imm): New.
From-SVN: r215091
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 19 |
2 files changed, 20 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8c1b755..a967334 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2014-09-09 Segher Boessenkool <segher@kernel.crashing.org> + + PR target/63195 + * config/rs6000/rs6000.md (*bool<mode>3): Allow only register + operands. Split off the constant operand alternative to ... + (*bool<mode>3_imm): New. + 2014-09-09 David Malcolm <dmalcolm@redhat.com> * rtl.h (single_set_2): Strengthen first param from const_rtx to diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 2df8e41..b5aeaed 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -2996,14 +2996,21 @@ }) (define_insn "*bool<mode>3" - [(set (match_operand:GPR 0 "gpc_reg_operand" "=r,r") + [(set (match_operand:GPR 0 "gpc_reg_operand" "=r") (match_operator:GPR 3 "boolean_or_operator" - [(match_operand:GPR 1 "gpc_reg_operand" "%r,r") - (match_operand:GPR 2 "logical_operand" "r,n")]))] + [(match_operand:GPR 1 "gpc_reg_operand" "r") + (match_operand:GPR 2 "gpc_reg_operand" "r")]))] "" - "@ - %q3 %0,%1,%2 - %q3i%e2 %0,%1,%u2" + "%q3 %0,%1,%2" + [(set_attr "type" "logical")]) + +(define_insn "*bool<mode>3_imm" + [(set (match_operand:GPR 0 "gpc_reg_operand" "=r") + (match_operator:GPR 3 "boolean_or_operator" + [(match_operand:GPR 1 "gpc_reg_operand" "%r") + (match_operand:GPR 2 "logical_const_operand" "n")]))] + "" + "%q3i%e2 %0,%1,%u2" [(set_attr "type" "logical")]) (define_insn_and_split "*bool<mode>3_dot" |