aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSteve Ellcey <sellcey@imgtec.com>2015-05-12 22:58:39 +0000
committerSteve Ellcey <sje@gcc.gnu.org>2015-05-12 22:58:39 +0000
commit70a6fed80916a218b7b2561ce8b0a9f93bc93eea (patch)
tree9a673976b4c48260b6302a4172309a8e92b7a6b9 /gcc
parent38109dbe011a7f69dc36c402186f6ffb2b385ac5 (diff)
downloadgcc-70a6fed80916a218b7b2561ce8b0a9f93bc93eea.zip
gcc-70a6fed80916a218b7b2561ce8b0a9f93bc93eea.tar.gz
gcc-70a6fed80916a218b7b2561ce8b0a9f93bc93eea.tar.bz2
mips.c (mips_print_operand): Remove 'y' operand code.
* config/mips/mips.c (mips_print_operand): Remove 'y' operand code. * config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator. * config/mips/predicates.md (const_immlsa_operand): Remove log call. From-SVN: r223101
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/mips/mips.c14
-rw-r--r--gcc/config/mips/mips.md6
-rw-r--r--gcc/config/mips/predicates.md2
4 files changed, 10 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c23794a..cc07c1d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2015-05-12 Steve Ellcey <sellcey@imgtec.com>
+
+ * config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
+ * config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator.
+ * config/mips/predicates.md (const_immlsa_operand): Remove log call.
+
2015-05-12 David Malcolm <dmalcolm@redhat.com>
* doc/invoke.texi (Warning Options): Add -Wmisleading-indentation.
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index c6e40a1..8c66cbd 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -8440,7 +8440,6 @@ mips_print_operand_punct_valid_p (unsigned char code)
'x' Print the low 16 bits of CONST_INT OP in hexadecimal format.
'd' Print CONST_INT OP in decimal.
'm' Print one less than CONST_INT OP in decimal.
- 'y' Print exact log2 of CONST_INT OP in decimal.
'h' Print the high-part relocation associated with OP, after stripping
any outermost HIGH.
'R' Print the low-part relocation associated with OP.
@@ -8504,19 +8503,6 @@ mips_print_operand (FILE *file, rtx op, int letter)
output_operand_lossage ("invalid use of '%%%c'", letter);
break;
- case 'y':
- if (CONST_INT_P (op))
- {
- int val = exact_log2 (INTVAL (op));
- if (val != -1)
- fprintf (file, "%d", val);
- else
- output_operand_lossage ("invalid use of '%%%c'", letter);
- }
- else
- output_operand_lossage ("invalid use of '%%%c'", letter);
- break;
-
case 'h':
if (code == HIGH)
op = XEXP (op, 0);
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index 76f2108..f6921c6 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -5528,11 +5528,11 @@
(define_insn "<GPR:d>lsa"
[(set (match_operand:GPR 0 "register_operand" "=d")
- (plus:GPR (mult:GPR (match_operand:GPR 1 "register_operand" "d")
- (match_operand 2 "const_immlsa_operand" ""))
+ (plus:GPR (ashift:GPR (match_operand:GPR 1 "register_operand" "d")
+ (match_operand 2 "const_immlsa_operand" ""))
(match_operand:GPR 3 "register_operand" "d")))]
"ISA_HAS_<GPR:D>LSA"
- "<GPR:d>lsa\t%0,%1,%3,%y2"
+ "<GPR:d>lsa\t%0,%1,%3,%2"
[(set_attr "type" "arith")
(set_attr "mode" "<GPR:MODE>")])
diff --git a/gcc/config/mips/predicates.md b/gcc/config/mips/predicates.md
index fa17ac7..4929c3d 100644
--- a/gcc/config/mips/predicates.md
+++ b/gcc/config/mips/predicates.md
@@ -35,7 +35,7 @@
(define_predicate "const_immlsa_operand"
(and (match_code "const_int")
- (match_test "IN_RANGE (exact_log2 (INTVAL (op)), 1, 4)")))
+ (match_test "IN_RANGE (INTVAL (op), 1, 4)")))
(define_predicate "const_uimm6_operand"
(and (match_code "const_int")