diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 250812cb8b8..aea1239b2da 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-06-26 Kazu Hirata + + * config/h8300/h8300.c (compute_a_rotate_length): Fix the + references to the amount of a rotation. + 2003-06-26 Nathanael Nerode * config/sh/coff.h: Don't include dbxcoff.h. diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c index 54703c2452c..88a739cd9c2 100644 --- a/gcc/config/h8300/h8300.c +++ b/gcc/config/h8300/h8300.c @@ -3990,14 +3990,15 @@ unsigned int compute_a_rotate_length (rtx *operands) { rtx src = operands[1]; + rtx amount_rtx = operands[2]; enum machine_mode mode = GET_MODE (src); int amount; unsigned int length = 0; - if (GET_CODE (XEXP (src, 1)) != CONST_INT) - return 0; + if (GET_CODE (amount_rtx) != CONST_INT) + abort (); - amount = INTVAL (XEXP (src, 1)); + amount = INTVAL (amount_rtx); /* Clean up AMOUNT. */ if (amount < 0)