Commit 0b16c7b9 by Steve Ellcey Committed by Steve Ellcey

re PR target/68400 (ICE in change_address_1, at emit-rtl.c:2125)

2016-01-28  Steve Ellcey  <sellcey@imgtec.com>

	PR target/68400
	* config/mips/mips.c (and_operands_ok): Add MIPS16 check.

From-SVN: r232952
parent 494de84f
2016-01-28 Steve Ellcey <sellcey@imgtec.com>
PR target/68400
* config/mips/mips.c (and_operands_ok): Add MIPS16 check.
2016-01-28 Jakub Jelinek <jakub@redhat.com> 2016-01-28 Jakub Jelinek <jakub@redhat.com>
PR middle-end/69542 PR middle-end/69542
......
...@@ -8006,9 +8006,18 @@ mask_low_and_shift_p (machine_mode mode, rtx mask, rtx shift, int maxlen) ...@@ -8006,9 +8006,18 @@ mask_low_and_shift_p (machine_mode mode, rtx mask, rtx shift, int maxlen)
bool bool
and_operands_ok (machine_mode mode, rtx op1, rtx op2) and_operands_ok (machine_mode mode, rtx op1, rtx op2)
{ {
return (memory_operand (op1, mode)
? and_load_operand (op2, mode) if (memory_operand (op1, mode))
: and_reg_operand (op2, mode)); {
if (TARGET_MIPS16) {
struct mips_address_info addr;
if (!mips_classify_address (&addr, op1, mode, false))
return false;
}
return and_load_operand (op2, mode);
}
else
return and_reg_operand (op2, mode);
} }
/* The canonical form of a mask-low-and-shift-left operation is /* The canonical form of a mask-low-and-shift-left operation is
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment