Commit beed32b8 by Richard Earnshaw Committed by Richard Earnshaw

arm.c (arm_print_operand case 'S'): Validate that the operand is a shift operand…

arm.c (arm_print_operand case 'S'): Validate that the operand is a shift operand before calling shift_op.

	* arm.c (arm_print_operand case 'S'): Validate that the operand is
	a shift operand before calling shift_op.  Avoid redundant call of
	shift_op.

From-SVN: r114264
parent c32827b0
2006-05-31 Richard Earnshaw <richard.earnshaw@arm.com>
* arm.c (arm_print_operand case 'S'): Validate that the operand is
a shift operand before calling shift_op. Avoid redundant call of
shift_op.
2006-05-30 Naveen.H.S <naveenh@kpitcummins.com>
DJ Delorie <dj@redhat.com>
......
......@@ -11013,11 +11013,19 @@ arm_print_operand (FILE *stream, rtx x, int code)
case 'S':
{
HOST_WIDE_INT val;
const char * shift = shift_op (x, &val);
const char *shift;
if (!shift_operator (x, SImode))
{
output_operand_lossage ("invalid shift operand");
break;
}
shift = shift_op (x, &val);
if (shift)
{
fprintf (stream, ", %s ", shift_op (x, &val));
fprintf (stream, ", %s ", shift);
if (val == -1)
arm_print_operand (stream, XEXP (x, 1), 0);
else
......
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