From 1347292b885d50b86ca6eb5abe9583eac53911e5 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Tue, 28 Sep 1993 16:00:13 -0700 Subject: [PATCH] (force_to_mode, LSHIFTRT case): Avoid shifts larger than HOST_BITS_PER_WIDE_INT. From-SVN: r5516 --- gcc/combine.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/combine.c b/gcc/combine.c index d6ce0348a4f..45d572a7add 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -5771,10 +5771,12 @@ force_to_mode (x, mode, mask, reg) break; case LSHIFTRT: - /* Here we can only do something if the shift count is a constant and - we can do arithmetic in OP_MODE. */ + /* Here we can only do something if the shift count is a constant, + this shift constant is valid for the host, and we can do arithmetic + in OP_MODE. */ if (GET_CODE (XEXP (x, 1)) == CONST_INT + && INTVAL (XEXP (x, 1)) < HOST_BITS_PER_WIDE_INT && GET_MODE_BITSIZE (op_mode) <= HOST_BITS_PER_WIDE_INT) { rtx inner = XEXP (x, 0); -- 2.30.2