aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@gcc.gnu.org>2015-12-04 18:28:54 +0100
committerSegher Boessenkool <segher@gcc.gnu.org>2015-12-04 18:28:54 +0100
commit586cdac8e5af3fff142829e579558f8728e56f81 (patch)
tree1bf94659736977c4161f80f0edfe303639443ac6 /gcc
parent04a9ae287f6d76c60464c57be98550a25b358c34 (diff)
downloadgcc-586cdac8e5af3fff142829e579558f8728e56f81.zip
gcc-586cdac8e5af3fff142829e579558f8728e56f81.tar.gz
gcc-586cdac8e5af3fff142829e579558f8728e56f81.tar.bz2
rs6000: Clean up the cstore code a bit
"register_operand" was a bit confusing. Also some other minor cleanups. * (cstore<mode>4_unsigned): Use gpc_reg_operand instead of register_operand. Remove empty constraints. Use std::swap. (cstore_si_as_di, cstore<mode>4_signed_imm, cstore<mode>4_unsigned_imm, cstore<mode>4 for GPR): Use gpc_reg_operand instead of register_operand. (cstore<mode>4 for FP): Use gpc_reg_operand instead of register_operand. Remove empty constraints. From-SVN: r231287
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/config/rs6000/rs6000.md23
2 files changed, 22 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c918cf9..572b9a6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,4 +1,14 @@
-2015-11-25 Nick Clifton <nickc@redhat.com>
+2015-12-04 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * (cstore<mode>4_unsigned): Use gpc_reg_operand instead of
+ register_operand. Remove empty constraints. Use std::swap.
+ (cstore_si_as_di, cstore<mode>4_signed_imm,
+ cstore<mode>4_unsigned_imm, cstore<mode>4 for GPR): Use
+ gpc_reg_operand instead of register_operand.
+ (cstore<mode>4 for FP): Use gpc_reg_operand instead of
+ register_operand. Remove empty constraints.
+
+2015-12-04 Nick Clifton <nickc@redhat.com>
* config.gcc (extra_gcc_objs): Define for MSP430.
* common/config/msp430/msp430-common.c (msp430_handle_option):
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index f346cba..39e1b29 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -10568,9 +10568,9 @@
(define_expand "cstore<mode>4_unsigned"
[(use (match_operator 1 "unsigned_comparison_operator"
- [(match_operand:P 2 "gpc_reg_operand" "")
- (match_operand:P 3 "reg_or_short_operand" "")]))
- (clobber (match_operand:P 0 "register_operand"))]
+ [(match_operand:P 2 "gpc_reg_operand")
+ (match_operand:P 3 "reg_or_short_operand")]))
+ (clobber (match_operand:P 0 "gpc_reg_operand"))]
""
{
enum rtx_code cond_code = GET_CODE (operands[1]);
@@ -10582,8 +10582,7 @@
if (cond_code == GEU || cond_code == LTU)
{
cond_code = swap_condition (cond_code);
- op1 = operands[3];
- op2 = operands[2];
+ std::swap (op1, op2);
}
if (!gpc_reg_operand (op1, <MODE>mode))
@@ -10609,7 +10608,7 @@
[(use (match_operator 1 "unsigned_comparison_operator"
[(match_operand:SI 2 "gpc_reg_operand")
(match_operand:SI 3 "reg_or_short_operand")]))
- (clobber (match_operand:SI 0 "register_operand"))]
+ (clobber (match_operand:SI 0 "gpc_reg_operand"))]
""
{
int uns_flag = unsigned_comparison_operator (operands[1], VOIDmode) ? 1 : 0;
@@ -10654,7 +10653,7 @@
[(use (match_operator 1 "signed_comparison_operator"
[(match_operand:GPR 2 "gpc_reg_operand")
(match_operand:GPR 3 "immediate_operand")]))
- (clobber (match_operand:GPR 0 "register_operand"))]
+ (clobber (match_operand:GPR 0 "gpc_reg_operand"))]
""
{
bool invert = false;
@@ -10699,7 +10698,7 @@
[(use (match_operator 1 "unsigned_comparison_operator"
[(match_operand:GPR 2 "gpc_reg_operand")
(match_operand:GPR 3 "immediate_operand")]))
- (clobber (match_operand:GPR 0 "register_operand"))]
+ (clobber (match_operand:GPR 0 "gpc_reg_operand"))]
""
{
bool invert = false;
@@ -10746,7 +10745,7 @@
[(use (match_operator 1 "rs6000_cbranch_operator"
[(match_operand:GPR 2 "gpc_reg_operand")
(match_operand:GPR 3 "reg_or_short_operand")]))
- (clobber (match_operand:GPR 0 "register_operand"))]
+ (clobber (match_operand:GPR 0 "gpc_reg_operand"))]
""
{
/* Use ISEL if the user asked for it. */
@@ -10807,9 +10806,9 @@
(define_expand "cstore<mode>4"
[(use (match_operator 1 "rs6000_cbranch_operator"
- [(match_operand:FP 2 "gpc_reg_operand" "")
- (match_operand:FP 3 "gpc_reg_operand" "")]))
- (clobber (match_operand:SI 0 "register_operand"))]
+ [(match_operand:FP 2 "gpc_reg_operand")
+ (match_operand:FP 3 "gpc_reg_operand")]))
+ (clobber (match_operand:SI 0 "gpc_reg_operand"))]
""
{
rs6000_emit_sCOND (<MODE>mode, operands);