mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-19 03:30:27 +08:00
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
This commit is contained in:
parent
38109dbe01
commit
70a6fed809
@ -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.
|
||||
|
@ -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);
|
||||
|
@ -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>")])
|
||||
|
||||
|
@ -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")
|
||||
|
Loading…
x
Reference in New Issue
Block a user