From 5fd83d4e519fbf461c701b789f06ac3a5892c84c Mon Sep 17 00:00:00 2001 From: Michael Hayes Date: Mon, 11 Jun 2001 09:30:50 +0000 Subject: [PATCH] simplify-rtx.c (simplify_subreg): Fix offset calculation for complex values within a CONCAT. * simplify-rtx.c (simplify_subreg): Fix offset calculation for complex values within a CONCAT. From-SVN: r43177 --- gcc/ChangeLog | 5 +++++ gcc/simplify-rtx.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0e11252037e..0e2f5272f8b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-06-11 Michael Hayes + + * simplify-rtx.c (simplify_subreg): Fix offset calculation + for complex values within a CONCAT. + 2001-06-11 Joseph S. Myers * doc/install.texi: Update details of what components are included diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index 39c30154d39..3450f7b168b 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -2423,11 +2423,11 @@ simplify_subreg (outermode, op, innermode, byte) of real and imaginary part. */ if (GET_CODE (op) == CONCAT) { - int is_realpart = byte < GET_MODE_UNIT_SIZE (innermode) / 2; + int is_realpart = byte < GET_MODE_UNIT_SIZE (innermode); rtx part = is_realpart ? XEXP (op, 0) : XEXP (op, 1); unsigned int final_offset; - final_offset = byte % (GET_MODE_UNIT_SIZE (innermode) / 2); + final_offset = byte % (GET_MODE_UNIT_SIZE (innermode)); return simplify_subreg (outermode, part, GET_MODE (part), final_offset); } -- 2.30.2