From 8f7785933c54f04b205d43351907d2b1c93eea9a Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Thu, 17 May 2001 19:40:48 +0200 Subject: * simplify-rtx.c (simplify_subreg): Avoid creating of incorrect subregs. From-SVN: r42212 --- gcc/simplify-rtx.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gcc/simplify-rtx.c') diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index 44cfc3b..fd1b630 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -2331,6 +2331,10 @@ simplify_subreg (outermode, op, innermode, byte) % UNITS_PER_WORD)); } + /* Bail out in case resulting subreg would be incorrect. */ + if (final_offset % GET_MODE_SIZE (outermode) + || final_offset >= GET_MODE_SIZE (innermostmode)) + return NULL; /* Recurse for futher possible simplifications. */ new = simplify_subreg (outermode, SUBREG_REG (op), GET_MODE (SUBREG_REG (op)), -- cgit v1.1